MissingInteger

Find the smallest positive integer that does not occur in a given sequence.

Solution in C++ (easy to convert into other languages...)


#include <set>
int solution(vector<int> &A) {     set<int> s;     int res = 0;     for (auto a : A) {         if (a<=0) {             if (res==0) {                 res=1;             }         }         else {             s.insert(a);         }     }     if (res==1 && (s.empty() || (*s.cbegin()!=1))) {         return 1;     }     auto it = s.cbegin();     for (int i =0; i<int(s.size()); ++i) {         if ((i+1) != *it) {             return (i+1);         }         ++it;     }     return s.size()+1; }
Comments