判定数组中是否存在重复元素
2015-03-14 12:27
344 查看
问题:数组有 n 个元素,元素取值范围为 1--n ,如何判定是否存在重复的元素?
遍历数组法:假设在第 i 的位置的数字为 j ,则通过交换数字 j 到第 j 的位置,直到所有的数字都出现在自己的位置,或者发生冲突。
遍历数组法:假设在第 i 的位置的数字为 j ,则通过交换数字 j 到第 j 的位置,直到所有的数字都出现在自己的位置,或者发生冲突。
#include<iostream> using namespace std; //判定数组中是否存在重复元素 int Find_repeat(int *a,int n) { int j=-1; for(int i=0;i<n;i++) { j=a[i]; if(i+1 == j) continue; if(a[j-1]==j) return j; a[j-1]=a[i]; } return 0; } int main() { int a[]={1,3,5,7,8,9,2,4,6,9}; int length_a=sizeof(a)/sizeof(a[0]); int result=Find_repeat(a,length_a); if(result) cout<<"存在重复的数字,该数字为:"<<result<<endl; else cout<<"不存在重复的数字!!"<<endl; system("pause"); return 0; }输出结果:
相关文章推荐
- 假设数组a有n个元素,元素取值范围是1~n,如何判定数组是否存在重复元素
- 如何判定数组是否存在重复元素
- c++面试题:判断数组是否存在重复元素
- (笔试题)如何判断数组中是否存在重复元素
- 一个长度为N的整形数组,数组中每个元素的取值范围是[0,N-1],写一个算法判断数组中是否存在重复的数字
- 判断数组中是否存在重复元素
- 数组是否存在重复元素
- java判定数组或集合是否存在某个元素
- javascript 校验字符串(数字)数组是否存在重复元素
- C++(后台开发面试题)-判断数组中是否存在重复元素
- 关于查找数组中是否存在重复元素的方法总结(Find A Duplicate)
- 判断一个int数组中的元素是否存在重复
- 哈希(6) - 判断数组中是否存在重复元素且距离在K之内
- java判定数组或集合是否存在某个元素
- leetcode 287. Find the Duplicate Number 数组重复元素查询 + 环的存在判定 + 快慢指针 + 很妙的想法
- 判断数组中是否存在重复的元素
- 判断数组是否存在重复元素
- java判定数组或集合是否存在某个元素的实例
- java判定数组或集合是否存在某个元素
- 判断一个int数组中的元素是否存在重复