求数组中元素的最短距离
2013-09-13 21:26
405 查看
题目:给定一个含有n个元素的数组,找出数组中的两个元素X和Y使得abs(x-y)最小
解题思路:先排序,然后遍历元素。
解题思路:先排序,然后遍历元素。
#include<iostream> //#include<cmath> #include<limits> using namespace std; /* author:chhuaj date:2013.9.13 description:给定一个含有n个元素的数组,找出数组中的两个元素X和Y使得abs(x-y)最小 */ //决定升序排序关系 int compare(const void *a,const void *b) { return *(int *)a-*(int *)b; } int main() { int num[10]={7,1,9,5,13,21,20,11,3,15}; qsort(num,10,sizeof(int),compare); int dis = numeric_limits<int>::max(); //设置dis为int型最大值 int x,y; for(int i=1;i<10;i++) { if(num[i]-num[i-1]<dis) { dis = num[i]-num[i-1]; x=i-1; y=i; } } cout<<x<<","<<y<<","<<dis<<endl; return 0; }
相关文章推荐
- 求数组中两个元素的最小距离
- SDUT 两数组最短距离
- 已排序的数组中找到k个距离x最近的元素
- C/C++ 两数组最短距离
- oj刷题 Problem A: 两数组最短距离
- 两数组最短距离
- 数组中两个元素最小的距离
- 求整型 数组中最大值和最小值元素的距离
- Java求解数组中的两个元素的最小距离
- 山东理工大学ACM平台题答案关于C语言 1228 两数组最短距离
- 两数组最短距离
- 哈希(6) - 判断数组中是否存在重复元素且距离在K之内
- 【javascript】javascript中,怎么在数组中删除一个指定的元素 -- 史上最快、最短方法
- 两数组最短距离 acm
- 已知一个几乎有序的数组,几乎有序是指,如果把数组排好顺序的话,每个元素移动的距离可以不超过k,并且k相对于数组来说比较小。请选择一个合适的排序算法针对这个数据进行排序。 给定一个int数组A,同时给定
- 有一个整数数组,请编写一个函数,找出索引m和n,只要将m和n之间的元素排好序,整个数组就是有序的。注意:n-m应该越小越好,也就是说,找出符合条件的最短序列。 给定一个int数组A和数组的大小n,请
- 返回数组中两个元素的最新距离
- 求数组中两个元素的最小距离
- oj 1919 两数组最短距离
- 1208 -- 两数组最短距离