面试题三:数组中重复的数字
2018-01-31 21:43
295 查看
题目一:
在一个长度为n的数组里的所有数字都在0~n-1的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是重复的数字2或者3.
在一个长度为n的数组里的所有数字都在0~n-1的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是重复的数字2或者3.
#include<iostream> using namespace std; bool duplicate(int *a,int n){ int t; for(int i=0;i<n;i++){ while(a[i]!=i){ if(a[i]==a[a[i]]) { return true; } t=a[i]; a[i]=a[t]; a[t]=t; } } return false; } int main(void){ int a[7]={2,3,1,0,2,5,3}; bool flag=duplicate(a,7); if(flag==true) cout<<"True"<<endl; else cout<<"False"<<endl; for(int i=0;i<8;i++){ cout<<a[i]<<"\t"; } return 0; }
相关文章推荐
- 剑指Offer——面试题51:数组中重复的数字
- 算法面试题之不修改数组找出重复的数字
- 面试题 51: 数组中重复的数字
- 剑指offer面试题3-数组中重复的数字 java
- 面试题51 数组中重复的数字
- 面试题51:数组中重复的数字
- [每日练习]Amazon面试题:数组有N-2个数字,数字的范围为1 ... N,没有重复的元素,要求打印缺少的2个数字,不可以用额外的空间
- 《剑指offer》面试题3:数组中重复的数字
- 一道Javascript面试题,去除数组中的重复数字,大家看看我的做法是否正确
- 算法面试题之数组中重复的数字
- 剑指Offer 面试题3.数组中重复的数字
- 剑指Offer面试题3:数组中重复的数字
- 面试题3:数组中重复的数字
- 剑指offer——面试题51:数组中重复的数字
- 把一个整形数组中重复的数字去掉 - 微软面试题
- 面试题(四)不修改数组找出重复的数字
- 面试题51:数组中重复的数字
- 剑指offer 面试题51 数组中重复的数字
- 【我解C语言面试题系列】008 去除数组中重复数字问题
- 剑指offer-面试题51-数组中重复的数字