一个数组下标从0到n,元素为从0到n的整数,判断其中是否有重复元素。
2013-03-30 16:53
756 查看
#include <iostream> using namespace std; bool hasDuplicated(int* a,int len){ for(int i=0;i<len;i++){ if(a[i] == i) continue; if(a[i] == a[a[i]]) return true; swap(a[i],a[a[i]]); } return false; } int main(){ int a[100]; for(int i=0;i<100;i++) { a[i] = 99-i; } a[2] = 2; cout<<(hasDuplicated(a,100)?"true":"false"); return 0; }
相关文章推荐
- C++ - 一个非递减数组,下标从0到n,元素的取值范围为从0到n的整数,判断其中是否有重复元素
- 一个数组,下标从0到n,元素为从0到n的整数。判断其中是否有重复元素
- 一个数组,下标从0到n,元素为从0到n的整数。判断其中是否有重复元素
- 对于一个SIZE大小的数组,元素是[0,SIZE-1]区间内的整数,判断其中是否有重复元素
- 面试题:给定一个长度为N的数组,其中每个元素的取值范围都是1到N。判断数组中是否有重复的数字
- 如何判断一个整数数组中是否有重复元素?要求时间复杂度O(n),空间复杂度O(1)
- 如何判断一个整数数组中是否有重复元素?要求时间复杂度O(n),空间复杂度O(1)
- 如何判断一个整数数组中是否有重复元素
- 如何判断一个整数数组中是否有重复元素?要求时间复杂度O(n),空间复杂度O(1)
- 如何判断一个整数数组中是否有重复元素?要求时间复杂度O(n),空间复杂度O(1)
- 给定一个长度为N的数组,其中每个元素的取值范围都是1到N。判断数组中是否有重复的数字。(原数组不必保留)
- 如何判断一个整数数组中是否有重复元素
- (2)int A[nSize],其中隐藏着若干0,其余非0整数,写一个函数int Func(int* A, int nSize),使A把0移至后面,非0整数移至数组前面并保持有序,返回值为原数据中第一个元素为0的下标。(尽可能不使用辅助空间且考虑效率及异常问题,注释规范且给出设计思路)
- 在一个长度为10的整形数组中,已经放置好了任意10个整数。要求用户任意输入 一个整数,判断该数字是否在数组中。如果在,删除数组中该元素,并把后面的 元素往前挪。(让空出的位置在最后)
- C#实现如何判断一个数组中是否有重复的元素
- 12、一个整数数列,元素取值可能是0~65535中的任意一个数,相同数值不会重复出现。0是例外,可以反复出现。 请设计一个算法,当你从该数列中随意选取5个数值,判断这5个数值是否连续相邻。
- 判断一个int数组中的元素是否存在重复
- 面试题:在一个数组中有0-99之间的整数101个(数组无序),用高效方法找出其中的唯一的重复元素!
- JS判断一个数组中是否有重复元素
- 判断一个数组中的元素是否重复?