Skip to content

Commit ebf3cdb

Browse files
author
fenghongxiang
committed
2021.02.17 提交1379
1 parent b5f356d commit ebf3cdb

File tree

1 file changed

+12
-15
lines changed
  • leetcode4java/src/main/java/Problem_0448_找到所有数组中消失的数字

1 file changed

+12
-15
lines changed

leetcode4java/src/main/java/Problem_0448_找到所有数组中消失的数字/Solution.java

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,33 +5,30 @@
55

66
class Solution {
77
public List<Integer> findDisappearedNumbers(int[] nums) {
8-
for (int i = 0; i < nums.length; ) {
9-
while (nums[i] != i + 1 && nums[i] != nums[nums[i] - 1]) {
10-
swap(nums, i, nums[i] - 1);
11-
}
12-
i++;
13-
}
14-
List<Integer> numList = new ArrayList<>();
158
for (int i = 0; i < nums.length; i++) {
16-
if (nums[i] != i + 1) {
17-
numList.add(i + 1);
18-
}
9+
while ((nums[i] != i + 1) && (nums[i] != nums[nums[i] - 1]))
10+
swap(nums, i, nums[i] - 1);
1911
}
20-
return numList;
12+
13+
List<Integer> list = new ArrayList<>();
14+
for (int i = 0; i < nums.length; i++)
15+
if (nums[i] != i + 1) list.add(i + 1);
16+
return list;
2117
}
2218

2319
private void swap(int[] nums, int indexA, int indexB) {
24-
nums[indexA] ^= nums[indexB];//c
25-
nums[indexB] ^= nums[indexA];//a
26-
nums[indexA] ^= nums[indexB];
20+
int C = nums[indexA];
21+
nums[indexA] = nums[indexB];
22+
nums[indexB] = C;
2723
}
2824
}
2925

3026
class Test {
3127

3228
public static void main(String[] args) {
3329
int[] nums = {4, 3, 2, 7, 8, 2, 3, 1};
34-
new Solution().findDisappearedNumbers(nums);
30+
List<Integer> disappearedNumbers = new Solution().findDisappearedNumbers(nums);
31+
System.out.println(disappearedNumbers);
3532
}
3633
}
3734

0 commit comments

Comments
 (0)