Skip to content

Commit b8b4391

Browse files
committed
Added First_Missing_Positive_Number Program
1 parent 0fff0fb commit b8b4391

1 file changed

Lines changed: 46 additions & 0 deletions

File tree

First_Missing_Positive_Number.java

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
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+
}

0 commit comments

Comments
 (0)