/***给定一个无序的整数数组,怎么找到第一个大于0,并且不在此数组的整数。*比如[1,2,0] 返回 3, [3,4,-1,1] 返回 2。*最好能O(1)空间和O(n)时间。*题目转自:@陈利人(sina weibo)**/#include#include #include int main(){ int input[10]={1,2,5,1,3,4,6,9,3,8}; int num[100]={0}; int i; for(i=0;i<10;i++) { if(input[i]>0) num[input[i]]++; } for(i=1;i<100;i++) { if(num[i] == 0) { printf(" %d ",i); return 0; } } return 0;}