Skip to content

Commit 24773bd

Browse files
authored
docs: update a description of the solution to lc problem: No.0075 (#754)
No.0075.Sort Colors
1 parent 4350c40 commit 24773bd

File tree

1 file changed

+15
-12
lines changed

1 file changed

+15
-12
lines changed

solution/0000-0099/0075.Sort Colors/README.md

+15-12
Original file line numberDiff line numberDiff line change
@@ -54,17 +54,20 @@
5454

5555
<!-- 这里可写通用的实现逻辑 -->
5656

57-
有两种方式
58-
59-
- 排序
60-
- 题目本质还是排序,可用 `sort()` 一键解锁。
61-
- 双指针
62-
- 数组元素只存在 `0``1``2` 三种,因此将 `0` 移动至数组头部,`2` 移动至数组尾部,排序便完成了。
63-
- 安排两个变量,分别指向数组头部与尾部。
64-
- 遍历数组,分三种情况:
65-
- `0`:与头指针数值交换,并向前一步,遍历指针向前。
66-
- `2`:与尾指针数值交换,并向后一步。**遍历指针不变**(还需要处理交换上来的数值)。
67-
- `1`:遍历指针向前。
57+
**计数:**
58+
59+
- 遍历 `nums`,记录其中 `0``1``2` 出现的次数。
60+
- 依照记录的数字,按照顺序重新填充 `nums`
61+
62+
**双指针:**
63+
64+
数组元素只存在 `0``1``2` 三种,因此将 `0` 移动至数组头部,`2` 移动至数组尾部,排序便完成了。
65+
66+
- 安排两个变量,分别指向数组头部与尾部。
67+
- 遍历数组,分三种情况:
68+
- `0`:与头指针数值交换,并向前一步,遍历指针向前。
69+
- `2`:与尾指针数值交换,并向后一步。**遍历指针不变**(还需要处理交换上来的数值)。
70+
- `1`:遍历指针向前。
6871

6972
<!-- tabs:start -->
7073

@@ -232,7 +235,7 @@ impl Solution {
232235
if n == 0 {
233236
nums.swap(i, l);
234237
l += 1;
235-
}
238+
}
236239
i += 1;
237240
}
238241
}

0 commit comments

Comments
 (0)