8000 single_number_III · hitzzc/go-leetcode@7dd5716 · GitHub
[go: up one dir, main page]

Skip to content

Commit 7dd5716

Browse files
committed
single_number_III
1 parent 0371950 commit 7dd5716

File tree

2 files changed

+21
-0
lines changed

2 files changed

+21
-0
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,7 @@ Golang solution for leetcode. For each problem, there is a simple *_test.go to t
200200
#### [242. Valid Anagram](https://github.com/hitzzc/go-leetcode/tree/master/valid_anagram)
201201
#### [257. Binary Tree Paths](https://github.com/hitzzc/go-leetcode/tree/master/binary_tree_paths)
202202
#### [258. Add Digits](https://github.com/hitzzc/go-leetcode/tree/master/add_digits)
203+
#### [260. Single Number III](https://github.com/hitzzc/go-leetcode/tree/master/single_number_III)
203204

204205

205206

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package single_number_III
2+
3+
func singleNumber(nums []int) []int {
4+
var allox int
5+
for i := range nums {
6+
allox ^= nums[i]
7+
}
8+
mask := 1
9+
for ; mask&allox == 0; mask <<= 1 {
10+
}
11+
var ret1, ret2 int
12+
for i := range nums {
13+
if nums[i]&mask != 0 {
14+
ret1 ^= nums[i]
15+
} else {
16+
ret2 ^= nums[i]
17+
}
18+
}
19+
return []int{ret1, ret2}
20+
}

0 commit comments

Comments
 (0)
0