Skip to content

Commit 1adaddd

Browse files
committed
Runtime: 1 ms (Top 75.0%) | Memory: 2.20 MB (Top 90.0%)
1 parent 3903ad4 commit 1adaddd

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
// Runtime: 1 ms (Top 75.0%) | Memory: 2.20 MB (Top 90.0%)
2+
3+
impl Solution {
4+
pub fn single_number(nums: Vec<i32>) -> Vec<i32> {
5+
let xor = nums.iter().fold(0, |acc, x| acc ^ x);
6+
let r = xor & !(xor - 1);
7+
let mut answer = vec![0, 0];
8+
for n in nums.iter() {
9+
if n & r == 0 {
10+
answer[0] ^= *n;
11+
} else {
12+
answer[1] ^= *n;
13+
}
14+
}
15+
answer
16+
}
17+
}

0 commit comments

Comments
 (0)