Skip to content

Commit b1124aa

Browse files
committed
268. Missing Number
1 parent de3656d commit b1124aa

File tree

3 files changed

+37
-1
lines changed

3 files changed

+37
-1
lines changed

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# LeetCode
22

3-
![Problems Solved](https://img.shields.io/badge/Problems%20Solved-21%20%2F%202077-1f425f?logo=leetcode)
3+
![Problems Solved](https://img.shields.io/badge/Problems%20Solved-23%20%2F%202077-1f425f?logo=leetcode)
44
![Language: Golang](https://img.shields.io/badge/language-Golang-00ADD8?logo=go)
55
![Language: Rust](https://img.shields.io/badge/language-Rust-00ADD8?logo=rust)
66
![Language: Bash](https://img.shields.io/badge/language-Bash-00ADD8?logo=gnubash&logoColor=f5f5f5)
@@ -24,6 +24,7 @@
2424
| 136 | [Single Number](https://leetcode.com/problems/single-number/) | [Go](go/0136_single_number) | 🟢 | Array, Bit Manipulation |
2525
| 155 | [Min Stack](https://leetcode.com/problems/min-stack/) | [Go](go/0155_min_stack) | 🟢 | Stack |
2626
| 226 | [Invert Binary Tree](https://leetcode.com/problems/invert-binary-tree/) | [Go](go/0226_invert_binary_tree) | 🟢 | Tree, BFS, DFS, Binary Tree |
27+
| 268 | [Missing Number](https://leetcode.com/problems/missing-number/) | [Go](go/0268_missing_number) | 🟢 | Array, Math, Bit Manipulation |
2728
| 283 | [Move Zeroes](https://leetcode.com/problems/move-zeroes/) | [Go](go/0283_move_zeroes) | 🟢 | Array, Pointer |
2829
| 344 | [Reverse String](https://leetcode.com/problems/reverse-string/) | [Go](go/0344_reverse_string), [Rust](rust/_0344_reverse_string) | 🟢 | String, Pointer |
2930
| 404 | [Sum of Left Leaves](https://leetcode.com/problems/sum-of-left-leaves/) | [Go](go/0404_sum_of_left_leaves) | 🟢 | Tree, BFS, DFS, Binary Tree |

go/0268_missing_number/solution.go

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package missing_number
2+
3+
func missingNumber(nums []int) (result int) {
4+
for i := 0; i <= len(nums); i++ {
5+
result ^= i
6+
}
7+
8+
for _, num := range nums {
9+
result ^= num
10+
}
11+
12+
return
13+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package missing_number
2+
3+
import "testing"
4+
5+
func Test_singleNumber(t *testing.T) {
6+
tests := []struct {
7+
input []int
8+
want int
9+
}{
10+
{input: []int{3, 0, 1}, want: 2},
11+
{input: []int{0, 1}, want: 2},
12+
{input: []int{9, 6, 4, 2, 3, 5, 7, 0, 1}, want: 8},
13+
{input: []int{1}, want: 0},
14+
}
15+
16+
for i, tc := range tests {
17+
got := missingNumber(tc.input)
18+
if tc.want != got {
19+
t.Fatalf("Case #%d: expected: %v, got: %v", i+1, tc.want, got)
20+
}
21+
}
22+
}

0 commit comments

Comments
 (0)