Skip to content

Commit d5aacae

Browse files
committed
clean up redundant code
1 parent 9dbefba commit d5aacae

File tree

2 files changed

+20
-44
lines changed

2 files changed

+20
-44
lines changed
Lines changed: 10 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,16 @@
11
package leetcode
22

33
func sortColors(nums []int) {
4-
if len(nums) == 0 {
5-
return
6-
}
7-
8-
r := 0
9-
w := 0
10-
b := 0 // label the end of different colors;
11-
for _, num := range nums {
12-
if num == 0 {
13-
nums[b] = 2
14-
b++
15-
nums[w] = 1
16-
w++
17-
nums[r] = 0
18-
r++
19-
} else if num == 1 {
20-
nums[b] = 2
21-
b++
22-
nums[w] = 1
23-
w++
24-
} else if num == 2 {
25-
b++
4+
zero, one := 0, 0
5+
for i, n := range nums {
6+
nums[i] = 2
7+
if n <= 1 {
8+
nums[one] = 1
9+
one++
10+
}
11+
if n == 0 {
12+
nums[zero] = 0
13+
zero++
2614
}
2715
}
2816
}

website/content/ChapterFour/0001~0099/0075.Sort-Colors.md

Lines changed: 10 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -43,28 +43,16 @@ First, iterate the array counting number of 0's, 1's, and 2's, then overwrite ar
4343
package leetcode
4444

4545
func sortColors(nums []int) {
46-
if len(nums) == 0 {
47-
return
48-
}
49-
50-
r := 0
51-
w := 0
52-
b := 0 // label the end of different colors;
53-
for _, num := range nums {
54-
if num == 0 {
55-
nums[b] = 2
56-
b++
57-
nums[w] = 1
58-
w++
59-
nums[r] = 0
60-
r++
61-
} else if num == 1 {
62-
nums[b] = 2
63-
b++
64-
nums[w] = 1
65-
w++
66-
} else if num == 2 {
67-
b++
46+
zero, one := 0, 0
47+
for i, n := range nums {
48+
nums[i] = 2
49+
if n <= 1 {
50+
nums[one] = 1
51+
one++
52+
}
53+
if n == 0 {
54+
nums[zero] = 0
55+
zero++
6856
}
6957
}
7058
}

0 commit comments

Comments
 (0)