We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 5d901e4 commit 3e3c7c9Copy full SHA for 3e3c7c9
src/SingleNumberIII.java
@@ -0,0 +1,34 @@
1
+// https://leetcode.com/problems/single-number-iii
2
+// T: O(N)
3
+// S: O(1)
4
+
5
+public class SingleNumberIII {
6
+ public int[] singleNumber(int[] nums) {
7
+ // get xor of 2 unique numbers a ^ b
8
+ int diff = getXor(nums);
9
10
+ diff = getLastSetBit(diff);
11
12
+ final int[] result = {0, 0};
13
+ for (int element : nums) {
14
+ // different set bit
15
+ if ((element & diff) == 0) {
16
+ result[0] ^= element;
17
+ } else result[1] ^= element;
18
+ }
19
20
+ return result;
21
22
23
+ private int getXor(int[] array) {
24
+ int diff = 0;
25
+ for (int element : array) {
26
+ diff ^= element;
27
28
+ return diff;
29
30
31
+ private int getLastSetBit(int x) {
32
+ return x & -x;
33
34
+}
0 commit comments