We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 1d87fb3 commit c44916cCopy full SHA for c44916c
solution/0000-0099/0041.First Missing Positive/Solution.java
@@ -1,11 +1,24 @@
1
-class Solution {
2
- public int firstMissingPositive(int[] nums) {
3
- int re = 1;
4
- Arrays.sort(nums);
5
- for (int num : nums) {
6
- if (num == re) re++;
7
- if (num > re) return re;
+public class Solution {
+ public int firstMissingPositive(int[] num) {
+ for (int i = 0; i < num.length; i++) {
+ if (num[i] > 0 && num[i] < num.length && num[num[i] - 1] != num[i]) {
+ swap(num, i, num[i] - 1);
+ i--;
+ }
8
}
9
- return re;
+
10
11
+ if (i + 1 != num[i]) {
12
+ return i + 1;
13
14
15
16
+ return num.length + 1;
17
18
19
+ private void swap(int[] num, int i, int j) {
20
+ int temp = num[i];
21
+ num[i] = num[j];
22
+ num[j] = temp;
23
24
0 commit comments