摘要:
题目:指定一个无序的整数数组,怎么找到第一个大于0.并且不在此数组的整数。比如:[1,2,0],返回3;[3,4,-1,1],返回2.最好能0(1)空间和O(n)时间。分析:借助微博上给的思路:给数组处理后,如果遍历的时候,出现a[i]!=i,则i为所求的值。解决思路详见陈利人的新浪微博。代码:#includeusing namespace std;#includebool f(int a[],int n){ bool flag=false; if(a[0]>=1)//为什么写这步,可思考下面所列的第三个数组 for(int i=0;i<n;i++) { if(a[i]!=i+1) 阅读全文