給定一個長度爲N的序列,須要輸出該序列中最小的沒有出現的正整數算法
使用map記錄全部輸入的正數,而後從1開始一直向後查找map中沒有出現的正數,而後輸出退出循環便可。數組
#include<cstdio> #include<unordered_map> using namespace std; unordered_map<int,bool> a; int main(){ int N; scanf("%d",&N); for(int i=0;i<N;++i){ int b; scanf("%d",&b); if(b>=0){ a[b] = 1;// 標記全部輸入的正數爲1 } } for(int i=1;;++i){ if(a[i]==0){ printf("%d",i); break; } } return 0; }