Skip to content

Commit 70d7486

Browse files
committed
refactoring problem 260
1 parent 1560711 commit 70d7486

File tree

1 file changed

+2
-24
lines changed

1 file changed

+2
-24
lines changed

SingleNumberIII260/Solution.java

Lines changed: 2 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -9,36 +9,14 @@ public int[] singleNumber(int[] nums) {
99
xorResult ^= nums[i];
1010

1111
int partitionNum = xorResult & (xorResult ^ (xorResult - 1));
12-
List<List<Integer>> twoParts = partition(nums, partitionNum);
13-
result[0] = singleNumberOneValue(twoParts.get(0));
14-
result[1] = singleNumberOneValue(twoParts.get(1));
15-
16-
return result;
17-
}
18-
19-
private List<List<Integer>> partition(int[] nums, int partitionNum) {
20-
List<List<Integer>> result = new ArrayList<List<Integer>>();
21-
List<Integer> partOne = new ArrayList<Integer>();
22-
List<Integer> partTwo = new ArrayList<Integer>();
2312

2413
for (int i = 0; i < nums.length; i++) {
2514
if ((nums[i] & partitionNum) == 0)
26-
partOne.add(nums[i]);
15+
result[0] ^= nums[i];
2716
else
28-
partTwo.add(nums[i]);
17+
result[1] ^= nums[i];
2918
}
3019

31-
result.add(partOne);
32-
result.add(partTwo);
33-
34-
return result;
35-
}
36-
37-
private int singleNumberOneValue(List<Integer> nums) {
38-
int result = 0;
39-
Iterator<Integer> iter = nums.iterator();
40-
while (iter.hasNext())
41-
result ^= iter.next();
4220
return result;
4321
}
4422
}

0 commit comments

Comments
 (0)