File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ import java .util .Arrays ;
2+ import java .util .Scanner ;
3+
4+ public class First_Missing_Positive_Number {
5+
6+
7+ public static void main (String [] args ) {
8+ Scanner sc = new Scanner (System .in );
9+ int N =sc .nextInt ();
10+ int []Arr = new int [N ];
11+ for ( int i =0 ;i <N ;i ++)
12+ Arr [i ]=sc .nextInt ();
13+ System .out .println (firstMissingPositive (Arr ));
14+
15+
16+
17+
18+ }
19+ static int firstMissingPositive (int [] nums ) {
20+ int n =nums .length ;
21+ int i =0 ;
22+ while (i <n ){
23+ if (nums [i ]>0 &&nums [i ]<=n &&nums [nums [i ]-1 ]!=nums [i ]){
24+ swap (i ,nums [i ]-1 ,nums ) ;
25+ }
26+ else
27+ i ++;
28+ }
29+ System .out .println (Arrays .toString (nums ));
30+
31+ for ( i =0 ;i <n ;i ++){
32+ if (nums [i ]!=i +1 ){
33+ return i +1 ;
34+ }
35+ }
36+
37+
38+ return n +1 ;
39+
40+ }
41+ static void swap (int x ,int y ,int []A ){
42+ int t =A [x ];
43+ A [x ]=A [y ];
44+ A [y ]=t ;
45+ }
46+ }
You can’t perform that action at this time.
0 commit comments