Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 6c845ac

Browse files
update content
1 parent e487aca commit 6c845ac

File tree

2 files changed

+3
-2
lines changed

2 files changed

+3
-2
lines changed

‎算法思维系列/回溯算法详解修订版.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -337,7 +337,7 @@ bool backtrack(vector<string>& board, int row) {
337337
}
338338
```
339339
340-
这样修改后,只要找到一个答案,for 循环的后续递归穷举都会被阻断。也许你可以在 N 皇后问题的代码框架上,稍加修改,写一个解数独的算法?可以参考我的这篇文章 [回溯算法秒杀数独问题](https://labuladong.github.io/article/fname.html?fname=sudoku)。
340+
这样修改后,只要找到一个答案,后续的递归穷举都会被阻断。也许你可以在 N 皇后问题的代码框架上,稍加修改,写一个解数独的算法?可以参考我的这篇文章 [回溯算法秒杀数独问题](https://labuladong.github.io/article/fname.html?fname=sudoku)。
341341
342342
再简单拓展一下,有可能题目不需要你计算出 N 皇后问题的所有具体结果,而仅仅问你共有几种解法,应该怎么做呢?
343343

‎算法思维系列/滑动窗口技巧进阶.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ while (right < s.size()) {
7070
```cpp
7171
/* 滑动窗口算法框架 */
7272
void slidingWindow(string s) {
73+
// 用合适的数据结构记录窗口中的数据
7374
unordered_map<char, int> window;
7475

7576
int left = 0, right = 0;
@@ -106,7 +107,7 @@ void slidingWindow(string s) {
106107
107108
另外,虽然滑动窗口代码框架中有一个嵌套的 while 循环,但算法的时间复杂度依然是 `O(N)`,其中 `N` 是输入字符串/数组的长度。
108109
109-
为什么呢?简单说,字符串/数组中的每个元素都只会进入窗口一次,然后被移出窗口一次,不会说有某些元素多次进入和离开窗口,所以算法的时间复杂度就和字符串/数组的长度成正比。前文 [算法时空复杂度分析实用指南](https://labuladong.github.io/article/fname.html?fname=时间复杂度) 有具体讲时间复杂度的估算,这里就不展开了。
110+
为什么呢?简单说,指针 `left, right` 不会回退(它们的值只增不减),所以字符串/数组中的每个元素都只会进入窗口一次,然后被移出窗口一次,不会说有某些元素多次进入和离开窗口,所以算法的时间复杂度就和字符串/数组的长度成正比。前文 [算法时空复杂度分析实用指南](https://labuladong.github.io/article/fname.html?fname=时间复杂度) 有具体讲时间复杂度的估算,这里就不展开了。
110111
111112
说句题外话,我发现很多人喜欢执着于表象,不喜欢探求问题的本质。比如说有很多人评论我这个框架,说什么散列表速度慢,不如用数组代替散列表;还有很多人喜欢把代码写得特别短小,说我这样代码太多余,影响编译速度,LeetCode 上速度不够快。
112113

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /