fork(1) download
  1. #include <iostream>
  2. #include <vector>
  3. using namespace std;
  4.  
  5. int find_gap(std::vector<int> const& vec) {
  6. std::vector<bool> gap(vec.size()+1, false);
  7. gap[0] = true; // special case - we want results >= 1.
  8. for (auto index : vec) {
  9. if (index < gap.size()) {
  10. gap[index] = true;
  11. }
  12. }
  13. size_t unused_value = 0;
  14. for (; unused_value < gap.size(); ++unused_value) {
  15. if (!gap[unused_value]) {
  16. break;
  17. }
  18. }
  19. return unused_value;
  20. }
  21.  
  22. int main() {
  23. std::cout << find_gap({1,2,4,5}) << std::endl;
  24. std::cout << find_gap({2}) << std::endl;
  25. std::cout << find_gap({1,2,3}) << std::endl;
  26. // your code goes here
  27. return 0;
  28. }
Success #stdin #stdout 0s 15240KB
stdin
Standard input is empty
stdout
3
1
4