fork(1) 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. public static void main(String[] args) {
  10. int[] a = new int[]{100, 2, 3, 1, 4, -10, 5, 10, 21, 6, 8, -2020, 2000000000, 2000000001};
  11. System.out.println(findFirstMissingPositive(a));
  12.  
  13. a = new int[]{2, 3, 1, 4, 6, 5, 7};
  14. System.out.println(findFirstMissingPositive(a));
  15. }
  16.  
  17. static int findFirstMissingPositive(int[] a) {
  18. int n = a.length;
  19. boolean[] was = new boolean[n];
  20.  
  21. for (int v : a) {
  22. if (v > 0 && v <= n) {
  23. was[v - 1] = true;
  24. }
  25. }
  26.  
  27. for (int i = 0; i < n; i++) {
  28. if (!was[i]) return i + 1;
  29. }
  30.  
  31. return n + 1;
  32. }
  33. }
Success #stdin #stdout 0.04s 2184192KB
stdin
Standard input is empty
stdout
7
8