【数组的距离】 oj65
2017-07-26 18:07
155 查看
【数组的距离】
发布时间: 2017年5月25日 19:57 最后更新: 2017年6月30日 20:42 时间限制: 1000ms 内存限制: 128M描述
已知元素从小到大排列的两个数组x[]和y[],请写出一个程序算出两个数组彼此之间差的绝对值中最小的一个,这叫做数组的距离
输入
第一行为两个整数m, n(1<=m, n<=1000),分别代表数组f[], g[]的长度。 第二行有m个元素,为数组f[]。 第三行有n个元素,为数组g[]。
输出
数组的最短距离
样例输入1 复制
5 5 1 2 3 4 5 6 7 8 9 10
样例输出1
1
#include <cstdio> #include <iostream> #include <vector> #include <algorithm> #include <cmath> using namespace std; int main() { int m,n, num; cin >> m>>n; vector<int> iter_a, iter_b,ans; for (int i = 0; i < m; i++) { scanf("%d", &num); iter_a.push_back(num); } for (int i = 0; i < n; i++) { scanf("%d", &num); iter_b.push_back(num); } if (m>n) { vector<int>::iterator pIter_b = iter_b.begin(); for (int i = 0; i < n; i++) { vector<int>::iterator pIter_a = iter_a.begin(); for (int j = 0; j < m; j++) { ans.push_back(abs(pIter_a[j] - pIter_b[i])); } } } else { vector<int>::iterator pIter_a = iter_a.begin(); for (int i = 0; i < m; i++) { vector<int>::iterator pIter_b = iter_b.begin(); for (int j = 0; j < n; j++) { ans.push_back(abs(pIter_b[j] - pIter_a[i])); } } } cout << *(min_element(ans.begin(), ans.end())); return 0; }
相关文章推荐
- 两数组最短距离
- ACM练习 两数组的距离
- 问题 A: 两数组最短距离
- 二货小易有一个W*H的网格盒子,网格的行编号为0~H-1,网格的列编号为0~W-1。每个格子至多可以放一块蛋糕,任意两块蛋糕的欧几里得距离不能等于2。 对于两个格子坐标(x1,y1),(x2,y2)的欧几里得距离为: ( (x1-x2) * (x1-x2) + (y1-y2) * (y1-y2) ) 的算术平方根 小易想知道最多可以放多少块蛋糕在网格盒子里。 输入描述: 每组数组包含网格长宽W,
- [LeetCode] 624. Maximum Distance in Arrays 数组中的最大距离
- 算法题——数组内有序对的最大距离
- 两数组最短距离
- 求数组中两个元素的最小距离
- oj刷题 Problem A: 两数组最短距离
- 哈希(6) - 判断数组中是否存在重复元素且距离在K之内
- 数组之间的距离
- 返回数组中两个元素的最新距离
- 求数组中元素的最短距离
- 字符串数组中两个字符串的最小距离
- 2014年阿里巴巴笔试题目(28题):最小三元数组距离最优算法
- Java总哈希表的运用,判断一个数组中是否存在相同的元素之间的距离在k以内!
- 【距离GDOI:131天】 后缀数组完毕
- 两数组最短距离 acm
- 【数学】找出若干个有序数组的最小距离
- oj 1919 两数组最短距离