fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7. /* Name of the class has to be "Main" only if the class is public. */
  8. class Ideone
  9. {
  10. public static void main(String args[]) {
  11. int[] a = new int[]{100, 2, 3, 1, 4, -10, 5, 10, 21, 6, 8, -2020, 2000000000, 2000000001};
  12. System.out.println(findFirstPositiveMissingNumber(a));
  13.  
  14. a = new int[]{2, 3, 1, 4, 6, 5, 7};
  15. System.out.println(findFirstPositiveMissingNumber(a));
  16. }
  17.  
  18. static int findFirstPositiveMissingNumber(int[] a) {
  19. int min = -1;
  20. java.util.Set<Integer> set = new java.util.HashSet<Integer>(a.length);
  21.  
  22. for (int integer: a) {
  23. set.add(integer);
  24. if (integer > 0 && (integer < min || min == -1))
  25. min = integer;
  26. }
  27.  
  28. if (min < 0 || min > 1) return 1;
  29.  
  30. int current = min;
  31. while (set.contains(current)) current++;
  32.  
  33. return current;
  34. }
  35. }
Success #stdin #stdout 0.05s 2184192KB
stdin
Standard input is empty
stdout
7
8