一个数组,下标从0到n,元素为从0到n的整数。判断其中是否有重复元素
2010-04-01 14:48
816 查看
今天终于看懂了这code:
int hasDuplicate(int[] a, int n){ for(int i=0;i<n;++i){ while(a[i]!=i && a[i]!=-1){ if(a[a[i]]==-1) return 1; a[i]=a[a[i]]; a[a[i]]=-1; } if(a[i]==i) {a[i]=-1;} } return 0; }
相关文章推荐
- C++ - 一个非递减数组,下标从0到n,元素的取值范围为从0到n的整数,判断其中是否有重复元素
- 一个数组,下标从0到n,元素为从0到n的整数。判断其中是否有重复元素
- 一个数组下标从0到n,元素为从0到n的整数,判断其中是否有重复元素。
- 对于一个SIZE大小的数组,元素是[0,SIZE-1]区间内的整数,判断其中是否有重复元素
- 给定一个长度为N的数组,其中每个元素的取值范围都是1到N。判断数组中是否有重复的数字。(原数组不必保留)
- 如何判断一个整数数组中是否有重复元素
- 面试题:给定一个长度为N的数组,其中每个元素的取值范围都是1到N。判断数组中是否有重复的数字
- 如何判断一个整数数组中是否有重复元素?要求时间复杂度O(n),空间复杂度O(1)
- 如何判断一个整数数组中是否有重复元素
- 如何判断一个整数数组中是否有重复元素?要求时间复杂度O(n),空间复杂度O(1)
- 如何判断一个整数数组中是否有重复元素?要求时间复杂度O(n),空间复杂度O(1)
- 如何判断一个整数数组中是否有重复元素?要求时间复杂度O(n),空间复杂度O(1)
- 面试题精选(79):取值为【1,n-1】含n个元素的整数数组至少存在一个重复数,O(n)时间内找出其中任意一个重复数
- 笔试算法题(29):判断元素范围1到N的数组是否有重复数字 & 计算整数的7倍
- 取值为[1,n-1] 含n 个元素的整数数组至少存在一个重复数,O(n) 时间内找出其中任意一个重复数
- 判断一个int数组中的元素是否存在重复
- 判断一个数组中是否有重复的元素
- 判断一个数组中的元素是否重复?
- C#实现如何判断一个数组中是否有重复的元素
- 156 含n个元素的整数数组至少存在一个重复数,在 O(n)时间内找出其中任意一个重复数