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 fa2514d

Browse files
add visualization
1 parent b5ed31b commit fa2514d

33 files changed

+802
-82
lines changed

‎动态规划系列/LCS.md

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,16 @@ class Solution {
229229
}
230230
```
231231

232-
<visual slug='longest-common-subsequence'/>
232+
233+
<hr/>
234+
<a href="https://labuladong.online/algo-visualize/leetcode/longest-common-subsequence/" target="_blank">
235+
<details style="max-width:90%;max-height:400px">
236+
<summary>
237+
<strong>🍭 代码可视化动画🍭</strong>
238+
</summary>
239+
</details>
240+
</a>
241+
<hr/>
233242

234243

235244

@@ -338,7 +347,16 @@ class Solution {
338347
}
339348
```
340349

341-
<visual slug='minimum-ascii-delete-sum-for-two-strings'/>
350+
351+
<hr/>
352+
<a href="https://labuladong.online/algo-visualize/leetcode/minimum-ascii-delete-sum-for-two-strings/" target="_blank">
353+
<details style="max-width:90%;max-height:400px">
354+
<summary>
355+
<strong>🍭 代码可视化动画🍭</strong>
356+
</summary>
357+
</details>
358+
</a>
359+
<hr/>
342360

343361

344362

‎动态规划系列/动态规划之正则表达.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -310,7 +310,16 @@ class Solution {
310310
}
311311
```
312312

313-
<visual slug='regular-expression-matching'/>
313+
314+
<hr/>
315+
<a href="https://labuladong.online/algo-visualize/leetcode/regular-expression-matching/" target="_blank">
316+
<details style="max-width:90%;max-height:400px">
317+
<summary>
318+
<strong>🍭 代码可视化动画🍭</strong>
319+
</summary>
320+
</details>
321+
</a>
322+
<hr/>
314323

315324

316325

‎动态规划系列/动态规划设计:最长递增子序列.md

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,16 @@ class Solution {
172172
}
173173
```
174174

175-
<visual slug='longest-increasing-subsequence'/>
175+
176+
<hr/>
177+
<a href="https://labuladong.online/algo-visualize/leetcode/longest-increasing-subsequence/" target="_blank">
178+
<details style="max-width:90%;max-height:400px">
179+
<summary>
180+
<strong>🎃 代码可视化动画🎃</strong>
181+
</summary>
182+
</details>
183+
</a>
184+
<hr/>
176185

177186

178187

@@ -266,7 +275,16 @@ class Solution {
266275
}
267276
```
268277

269-
<visual slug='mydata-lis'/>
278+
279+
<hr/>
280+
<a href="https://labuladong.online/algo-visualize/tutorial/mydata-lis/" target="_blank">
281+
<details style="max-width:90%;max-height:400px">
282+
<summary>
283+
<strong>🍭 代码可视化动画🍭</strong>
284+
</summary>
285+
</details>
286+
</a>
287+
<hr/>
270288

271289

272290

@@ -346,7 +364,16 @@ class Solution {
346364
}
347365
```
348366

349-
<visual slug='russian-doll-envelopes'/>
367+
368+
<hr/>
369+
<a href="https://labuladong.online/algo-visualize/leetcode/russian-doll-envelopes/" target="_blank">
370+
<details style="max-width:90%;max-height:400px">
371+
<summary>
372+
<strong>🌟 代码可视化动画🌟</strong>
373+
</summary>
374+
</details>
375+
</a>
376+
<hr/>
350377

351378

352379

‎动态规划系列/动态规划详解进阶.md

Lines changed: 60 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,16 @@ int fib(int N) {
100100
}
101101
```
102102

103-
<visual slug='mydata-fib'/>
103+
104+
<hr/>
105+
<a href="https://labuladong.online/algo-visualize/tutorial/mydata-fib/" target="_blank">
106+
<details style="max-width:90%;max-height:400px">
107+
<summary>
108+
<strong>🌈 代码可视化动画🌈</strong>
109+
</summary>
110+
</details>
111+
</a>
112+
<hr/>
104113

105114

106115

@@ -156,7 +165,16 @@ int dp(int[] memo, int n) {
156165
}
157166
```
158167

159-
<visual slug='mydata-fib2' />
168+
169+
<hr/>
170+
<a href="https://labuladong.online/algo-visualize/tutorial/mydata-fib2/" target="_blank">
171+
<details style="max-width:90%;max-height:400px">
172+
<summary>
173+
<strong>🌈 代码可视化动画🌈</strong>
174+
</summary>
175+
</details>
176+
</a>
177+
<hr/>
160178

161179

162180

@@ -207,7 +225,16 @@ int fib(int N) {
207225
}
208226
```
209227

210-
<visual slug='mydata-fib3' />
228+
229+
<hr/>
230+
<a href="https://labuladong.online/algo-visualize/tutorial/mydata-fib3/" target="_blank">
231+
<details style="max-width:90%;max-height:400px">
232+
<summary>
233+
<strong>🌟 代码可视化动画🌟</strong>
234+
</summary>
235+
</details>
236+
</a>
237+
<hr/>
211238

212239

213240

@@ -268,7 +295,16 @@ int fib(int n) {
268295
}
269296
```
270297

271-
<visual slug='fibonacci-number' />
298+
299+
<hr/>
300+
<a href="https://labuladong.online/algo-visualize/leetcode/fibonacci-number/" target="_blank">
301+
<details style="max-width:90%;max-height:400px">
302+
<summary>
303+
<strong>🌟 代码可视化动画🌟</strong>
304+
</summary>
305+
</details>
306+
</a>
307+
<hr/>
272308

273309

274310

@@ -382,7 +418,16 @@ class Solution {
382418
>
383419
> 另外,我经常看到有读者留言问,子问题的结果为什么要加 1(`subProblem + 1`),而不是加硬币金额之类的。我这里统一提示一下,动态规划问题的关键是 `dp` 函数/数组的定义,你这个函数的返回值代表什么?你回过头去搞清楚这一点,然后就知道为什么要给子问题的返回值加 1 了。
384420

385-
<visual slug='coin-change-brute-force'/>
421+
422+
<hr/>
423+
<a href="https://labuladong.online/algo-visualize/tutorial/coin-change-brute-force/" target="_blank">
424+
<details style="max-width:90%;max-height:400px">
425+
<summary>
426+
<strong>🎃 代码可视化动画🎃</strong>
427+
</summary>
428+
</details>
429+
</a>
430+
<hr/>
386431

387432
至此,状态转移方程其实已经完成了,以上算法已经是暴力解法了,以上代码的数学形式就是状态转移方程:
388433

@@ -439,7 +484,16 @@ class Solution {
439484
}
440485
```
441486

442-
<visual slug='coin-change' />
487+
488+
<hr/>
489+
<a href="https://labuladong.online/algo-visualize/leetcode/coin-change/" target="_blank">
490+
<details style="max-width:90%;max-height:400px">
491+
<summary>
492+
<strong>🥳 代码可视化动画🥳</strong>
493+
</summary>
494+
</details>
495+
</a>
496+
<hr/>
443497

444498

445499

‎动态规划系列/单词拼接.md

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -401,7 +401,16 @@ class Solution {
401401
> [!TIP]
402402
> 注意到计算 `prefix` 的过程中,我们是直接调用编程语言提供的子串截取函数,这个函数的时间复杂度是 $O(N)$。不难发现截取子串的开始索引是固定的 `i`,结束索引是递增的 `j`,所以我们手动维护这个 `prefix` 子串,避免调用子串截取函数,进一步提高效率。这个小优化就留给你来做吧。
403403
404-
<visual slug='word-break'/>
404+
405+
<hr/>
406+
<a href="https://labuladong.online/algo-visualize/leetcode/word-break/" target="_blank">
407+
<details style="max-width:90%;max-height:400px">
408+
<summary>
409+
<strong>🌈 代码可视化动画🌈</strong>
410+
</summary>
411+
</details>
412+
</a>
413+
<hr/>
405414

406415
这个解法能够通过所有测试用例,我们根据 [算法时空复杂度使用指南](https://labuladong.online/algo/essential-technique/complexity-analysis/) 来算一下它的时间复杂度:
407416

@@ -532,7 +541,16 @@ class Solution {
532541
}
533542
```
534543

535-
<visual slug='word-break-ii'/>
544+
545+
<hr/>
546+
<a href="https://labuladong.online/algo-visualize/leetcode/word-break-ii/" target="_blank">
547+
<details style="max-width:90%;max-height:400px">
548+
<summary>
549+
<strong>🎃 代码可视化动画🎃</strong>
550+
</summary>
551+
</details>
552+
</a>
553+
<hr/>
536554

537555
这个解法依然用备忘录消除了重叠子问题,所以 `dp` 函数递归调用的次数减少为 $O(N),ドル但 `dp` 函数本身的时间复杂度上升了,因为 `subProblem` 是一个子集列表,它的长度是指数级的。
538556

‎动态规划系列/团灭股票问题.md

Lines changed: 60 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -317,7 +317,16 @@ int maxProfit_k_1(int[] prices) {
317317
}
318318
```
319319

320-
<visual slug="best-time-to-buy-and-sell-stock" />
320+
321+
<hr/>
322+
<a href="https://labuladong.online/algo-visualize/leetcode/best-time-to-buy-and-sell-stock/" target="_blank">
323+
<details style="max-width:90%;max-height:400px">
324+
<summary>
325+
<strong>🍭 代码可视化动画🍭</strong>
326+
</summary>
327+
</details>
328+
</a>
329+
<hr/>
321330

322331
两种方式都是一样的,不过这种编程方法简洁很多,但是如果没有前面状态转移方程的引导,是肯定看不懂的。后续的题目,你可以对比一下如何把 `dp` 数组的空间优化掉。
323332

@@ -374,7 +383,16 @@ int maxProfit_k_inf(int[] prices) {
374383
}
375384
```
376385

377-
<visual slug="best-time-to-buy-and-sell-stock-ii" />
386+
387+
<hr/>
388+
<a href="https://labuladong.online/algo-visualize/leetcode/best-time-to-buy-and-sell-stock-ii/" target="_blank">
389+
<details style="max-width:90%;max-height:400px">
390+
<summary>
391+
<strong>🌟 代码可视化动画🌟</strong>
392+
</summary>
393+
</details>
394+
</a>
395+
<hr/>
378396

379397
### 309. 最佳买卖股票时机含冷冻期
380398

@@ -437,7 +455,16 @@ int maxProfit_with_cool(int[] prices) {
437455
}
438456
```
439457

440-
<visual slug="best-time-to-buy-and-sell-stock-with-cooldown" />
458+
459+
<hr/>
460+
<a href="https://labuladong.online/algo-visualize/leetcode/best-time-to-buy-and-sell-stock-with-cooldown/" target="_blank">
461+
<details style="max-width:90%;max-height:400px">
462+
<summary>
463+
<strong>🌈 代码可视化动画🌈</strong>
464+
</summary>
465+
</details>
466+
</a>
467+
<hr/>
441468

442469
### 714. 买卖股票的最佳时机含手续费
443470

@@ -497,7 +524,16 @@ int maxProfit_with_fee(int[] prices, int fee) {
497524
}
498525
```
499526

500-
<visual slug="best-time-to-buy-and-sell-stock-with-transaction-fee" />
527+
528+
<hr/>
529+
<a href="https://labuladong.online/algo-visualize/leetcode/best-time-to-buy-and-sell-stock-with-transaction-fee/" target="_blank">
530+
<details style="max-width:90%;max-height:400px">
531+
<summary>
532+
<strong>🌈 代码可视化动画🌈</strong>
533+
</summary>
534+
</details>
535+
</a>
536+
<hr/>
501537

502538

503539

@@ -575,7 +611,16 @@ int maxProfit_k_2(int[] prices) {
575611
}
576612
```
577613

578-
<visual slug="best-time-to-buy-and-sell-stock-iii" />
614+
615+
<hr/>
616+
<a href="https://labuladong.online/algo-visualize/leetcode/best-time-to-buy-and-sell-stock-iii/" target="_blank">
617+
<details style="max-width:90%;max-height:400px">
618+
<summary>
619+
<strong>🍭 代码可视化动画🍭</strong>
620+
</summary>
621+
</details>
622+
</a>
623+
<hr/>
579624

580625

581626

@@ -666,7 +711,16 @@ int maxProfit_k_any(int max_k, int[] prices) {
666711
}
667712
```
668713

669-
<visual slug="best-time-to-buy-and-sell-stock-iv" />
714+
715+
<hr/>
716+
<a href="https://labuladong.online/algo-visualize/leetcode/best-time-to-buy-and-sell-stock-iv/" target="_blank">
717+
<details style="max-width:90%;max-height:400px">
718+
<summary>
719+
<strong>🌟 代码可视化动画🌟</strong>
720+
</summary>
721+
</details>
722+
</a>
723+
<hr/>
670724

671725

672726

‎动态规划系列/子序列问题模板.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,16 @@ class Solution {
188188
}
189189
```
190190

191-
<visual slug='longest-palindromic-subsequence'/>
191+
192+
<hr/>
193+
<a href="https://labuladong.online/algo-visualize/leetcode/longest-palindromic-subsequence/" target="_blank">
194+
<details style="max-width:90%;max-height:400px">
195+
<summary>
196+
<strong>🥳 代码可视化动画🥳</strong>
197+
</summary>
198+
</details>
199+
</a>
200+
<hr/>
192201

193202

194203

0 commit comments

Comments
(0)

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