Skip to content

Commit ab79b1a

Browse files
authored
Merge branch 'master' into master
2 parents 69101d8 + 2b0ca46 commit ab79b1a

File tree

327 files changed

+24233
-6544
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

327 files changed

+24233
-6544
lines changed

.gitignore

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
.idea/
2+
.DS_Store
3+
.vscode
4+
.temp
5+
.cache
6+
*.iml
7+
__pycache__

README.md

Lines changed: 75 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -69,14 +69,14 @@
6969

7070
## 前序
7171

72-
* [「代码随想录」学习社区](https://programmercarl.com/other/kstar.html)
72+
* [做项目(多个C++、Java、Go、前端、测开项目)](https://programmercarl.com/other/kstar.html)
7373

7474

7575
* 编程语言
7676
* [C++面试&C++学习指南知识点整理](https://github.com/youngyangyang04/TechCPP)
77-
* [C++语言基础课](https://kamacoder.com/course.php?course_id=1)
78-
* [Java语言基础课](https://kamacoder.com/course.php?course_id=2)
77+
* [编程语言基础课](https://kamacoder.com/courseshop.php)
7978
* [23种设计模式](https://github.com/youngyangyang04/kama-DesignPattern)
79+
* [大厂算法笔试题](https://kamacoder.com/company.php)
8080

8181
* 工具
8282
* [一站式vim配置](https://github.com/youngyangyang04/PowerVim)
@@ -91,12 +91,12 @@
9191
* [BAT级别技术面试流程和注意事项都在这里了](./problems/前序/BAT级别技术面试流程和注意事项都在这里了.md)
9292

9393
* 算法性能分析
94-
* [关于时间复杂度,你不知道的都在这里!](./problems/前序/关于时间复杂度,你不知道的都在这里!.md)
95-
* [O(n)的算法居然超时了,此时的n究竟是多大?](./problems/前序/On的算法居然超时了,此时的n究竟是多大?.md)
96-
* [通过一道面试题目,讲一讲递归算法的时间复杂度!](./problems/前序/通过一道面试题目,讲一讲递归算法的时间复杂度!.md)
97-
* [关于空间复杂度,可能有几个疑问?](./problems/前序/关于空间复杂度,可能有几个疑问?.md)
94+
* [关于时间复杂度,你不知道的都在这里!](./problems/前序/时间复杂度.md)
95+
* [O(n)的算法居然超时了,此时的n究竟是多大?](./problems/前序/算法超时.md)
96+
* [通过一道面试题目,讲一讲递归算法的时间复杂度!](./problems/前序/递归算法的时间复杂度.md)
97+
* [关于空间复杂度,可能有几个疑问?](./problems/前序/空间复杂度.md)
9898
* [递归算法的时间与空间复杂度分析!](./problems/前序/递归算法的时间与空间复杂度分析.md)
99-
* [刷了这么多题,你了解自己代码的内存消耗么?](./problems/前序/刷了这么多题,你了解自己代码的内存消耗么?.md)
99+
* [刷了这么多题,你了解自己代码的内存消耗么?](./problems/前序/内存消耗.md)
100100

101101

102102
## 数组
@@ -106,8 +106,10 @@
106106
3. [数组:27.移除元素](./problems/0027.移除元素.md)
107107
4. [数组:977.有序数组的平方](./problems/0977.有序数组的平方.md)
108108
5. [数组:209.长度最小的子数组](./problems/0209.长度最小的子数组.md)
109-
6. [数组:59.螺旋矩阵II](./problems/0059.螺旋矩阵II.md)
110-
7. [数组:总结篇](./problems/数组总结篇.md)
109+
6. [数组:区间和](./problems/kamacoder/0058.区间和.md)
110+
7. [数组:开发商购买土地](./problems/kamacoder/0044.开发商购买土地.md)
111+
8. [数组:59.螺旋矩阵II](./problems/0059.螺旋矩阵II.md)
112+
9. [数组:总结篇](./problems/数组总结篇.md)
111113

112114
## 链表
113115

@@ -144,8 +146,8 @@
144146
4. ☑️ [字符串:151.翻转字符串里的单词](./problems/0151.翻转字符串里的单词.md)
145147
5. [字符串:右旋字符串](./problems/kama55.右旋字符串.md)
146148
6. [帮你把KMP算法学个通透](./problems/0028.实现strStr.md)
147-
8. [字符串:459.重复的子字符串](./problems/0459.重复的子字符串.md)
148-
9. [字符串:总结篇!](./problems/字符串总结.md)
149+
7. [字符串:459.重复的子字符串](./problems/0459.重复的子字符串.md)
150+
8. [字符串:总结篇!](./problems/字符串总结.md)
149151

150152
## 双指针法
151153

@@ -178,8 +180,9 @@
178180

179181
## 二叉树
180182

183+
181184
题目分类大纲如下:
182-
<img src='https://img-blog.csdnimg.cn/20210219190809451.png' width=600 alt='二叉树大纲'> </img></div>
185+
<img src='https://file1.kamacoder.com/i/algo/20240424172231.png' width=600 alt='二叉树大纲'> </img></div>
183186

184187
1. [关于二叉树,你该了解这些!](./problems/二叉树理论基础.md)
185188
2. ☑️ [二叉树:二叉树的递归遍历](./problems/二叉树的递归遍历.md)
@@ -221,7 +224,7 @@
221224

222225
题目分类大纲如下:
223226

224-
<img src='https://img-blog.csdnimg.cn/20210219192050666.png' width=600 alt='回溯算法大纲'> </img></div>
227+
<img src='https://file1.kamacoder.com/i/algo/20240424172311.png' width=600 alt='回溯算法大纲'> </img></div>
225228

226229
1. ☑️ [关于回溯算法,你该了解这些!](./problems/回溯算法理论基础.md)
227230
2. ☑️ ⭐️⭐️⭐️[回溯算法:77.组合](./problems/0077.组合.md)
@@ -251,7 +254,7 @@
251254
题目分类大纲如下:
252255

253256

254-
<img src='https://code-thinking-1253855093.file.myqcloud.com/pics/20210917104315.png' width=600 alt='贪心算法大纲'> </img></div>
257+
<img src='https://file1.kamacoder.com/i/algo/20210917104315.png' width=600 alt='贪心算法大纲'> </img></div>
255258

256259
1. [关于贪心算法,你该了解这些!](./problems/贪心算法理论基础.md)
257260
2. ☑️ [贪心算法:455.分发饼干](./problems/0455.分发饼干.md)
@@ -282,7 +285,7 @@
282285

283286
动态规划专题已经开始啦,来不及解释了,小伙伴们上车别掉队!
284287

285-
<img src='https://code-thinking.cdn.bcebos.com/pics/动态规划-总结大纲1.jpg' width=500> </img></div>
288+
<img src='https://file1.kamacoder.com/i/algo/动态规划-总结大纲1.jpg' width=500> </img></div>
286289
1. [关于动态规划,你该了解这些!](./problems/动态规划理论基础.md)
287290
2. ☑️ [动态规划:509.斐波那契数](./problems/0509.斐波那契数.md)
288291
3. ☑️ [动态规划:70.爬楼梯](./problems/0070.爬楼梯.md)
@@ -296,27 +299,28 @@
296299

297300
背包问题系列:
298301

299-
<img src='https://code-thinking.cdn.bcebos.com/pics/动态规划-背包问题总结.png' width=500 alt='背包问题大纲'> </img></div>
302+
<img src='https://file1.kamacoder.com/i/algo/动态规划-背包问题总结.png' width=500 alt='背包问题大纲'> </img></div>
300303

301304

302-
11. ☑️ 没做题 [动态规划:01背包理论基础](./problems/背包理论基础01背包-1.md)
303-
12. ☑️ 没做题 面试题不错 [动态规划:01背包理论基础(滚动数组](./problems/背包理论基础01背包-2.md)
304-
13. ☑️ 没做题 [动态规划:416.分割等和子集](./problems/0416.分割等和子集.md)
305-
14. ☑️ [动态规划:1049.最后一块石头的重量II](./problems/1049.最后一块石头的重量II.md)
305+
11. [动态规划:01背包理论基础(二维dp数组)](./problems/背包理论基础01背包-1.md)
306+
12. [动态规划:01背包理论基础(一维dp数组](./problems/背包理论基础01背包-2.md)
307+
13. [动态规划:416.分割等和子集](./problems/0416.分割等和子集.md)
308+
14. [动态规划:1049.最后一块石头的重量II](./problems/1049.最后一块石头的重量II.md)
306309
15. [本周小结!(动态规划系列三)](./problems/周总结/20210121动规周末总结.md)
307-
16. ☑️ [动态规划:494.目标和](./problems/0494.目标和.md)
308-
17. ☑️ [动态规划:474.一和零](./problems/0474.一和零.md)
309-
18. [动态规划:完全背包总结篇](./problems/背包问题理论基础完全背包.md)
310-
19. ☑️ 没做题 [动态规划:518.零钱兑换II](./problems/0518.零钱兑换II.md)
311-
20. [本周小结!(动态规划系列四)](./problems/周总结/20210128动规周末总结.md)
312-
21. ☑️ 面试题不错 [动态规划:377.组合总和Ⅳ](./problems/0377.组合总和Ⅳ.md)
313-
22. [动态规划:70.爬楼梯(完全背包版本)](./problems/0070.爬楼梯完全背包版本.md)
314-
23. [动态规划:322.零钱兑换](./problems/0322.零钱兑换.md)
315-
24. [动态规划:279.完全平方数](./problems/0279.完全平方数.md)
316-
25. [本周小结!(动态规划系列五)](./problems/周总结/20210204动规周末总结.md)
317-
26. ☑️ [动态规划:139.单词拆分](./problems/0139.单词拆分.md)
318-
27. [动态规划:多重背包理论基础](./problems/背包问题理论基础多重背包.md)
319-
28. [背包问题总结篇](./problems/背包总结篇.md)
310+
16. [动态规划:494.目标和](./problems/0494.目标和.md)
311+
17. [动态规划:474.一和零](./problems/0474.一和零.md)
312+
18. [动态规划:完全背包理论基础(二维dp数组)](./problems/背包问题理论基础完全背包.md)
313+
19. [动态规划:完全背包理论基础(一维dp数组)](./problems/背包问题完全背包一维.md)
314+
20. [动态规划:518.零钱兑换II](./problems/0518.零钱兑换II.md)
315+
21. [本周小结!(动态规划系列四)](./problems/周总结/20210128动规周末总结.md)
316+
22. [动态规划:377.组合总和Ⅳ](./problems/0377.组合总和Ⅳ.md)
317+
23. [动态规划:70.爬楼梯(完全背包版本)](./problems/0070.爬楼梯完全背包版本.md)
318+
24. [动态规划:322.零钱兑换](./problems/0322.零钱兑换.md)
319+
25. [动态规划:279.完全平方数](./problems/0279.完全平方数.md)
320+
26. [本周小结!(动态规划系列五)](./problems/周总结/20210204动规周末总结.md)
321+
27. [动态规划:139.单词拆分](./problems/0139.单词拆分.md)
322+
28. [动态规划:多重背包理论基础](./problems/背包问题理论基础多重背包.md)
323+
29. [背包问题总结篇](./problems/背包总结篇.md)
320324

321325
打家劫舍系列:
322326

@@ -326,7 +330,7 @@
326330

327331
股票系列:
328332

329-
<img src='https://code-thinking.cdn.bcebos.com/pics/股票问题总结.jpg' width=500 alt='股票问题总结'> </img></div>
333+
<img src='https://file1.kamacoder.com/i/algo/股票问题总结.jpg' width=500 alt='股票问题总结'> </img></div>
330334

331335

332336
32. ☑️ [动态规划:121.买卖股票的最佳时机](./problems/0121.买卖股票的最佳时机.md)
@@ -341,7 +345,7 @@
341345

342346
子序列系列:
343347

344-
<img src='https://code-thinking.cdn.bcebos.com/pics/动态规划-子序列问题总结.jpg' width=500 alt=''> </img></div>
348+
<img src='https://file1.kamacoder.com/i/algo/动态规划-子序列问题总结.jpg' width=500 alt=''> </img></div>
345349

346350

347351
41. ☑️ [动态规划:300.最长递增子序列](./problems/0300.最长上升子序列.md)
@@ -371,48 +375,42 @@
371375

372376
## 图论
373377

374-
通知:开始更新图论内容,图论部分还没有其他语言版本,欢迎录友们提交PR,成为contributor
375-
376-
### 深搜广搜
377-
378-
* [图论:深度优先搜索理论基础](./problems/图论深搜理论基础.md)DFS
379-
* ☑️144 二叉树前序遍历
380-
* ☑️617 合并二叉树
381-
* [图论:797.所有可能的路径](./problems/0797.所有可能的路径.md)
382-
* [图论:广度优先搜索理论基础](./problems/图论广搜理论基础.md)
383-
* 994 腐烂的橘子
384-
* 127 单词接龙 hard
385-
* ☑️ [图论:200.岛屿数量.深搜版](./problems/0200.岛屿数量.深搜版.md)
386-
* ☑️ [图论:200.岛屿数量.广搜版](./problems/0200.岛屿数量.广搜版.md)
387-
* ☑️ [图论:695.岛屿的最大面积](./problems/0695.岛屿的最大面积.md) 深搜和广搜
388-
* [图论:1020.飞地的数量](./problems/1020.飞地的数量.md)
389-
* [图论:130.被围绕的区域](./problems/0130.被围绕的区域.md)
390-
* [图论:417.太平洋大西洋水流问题](./problems/0417.太平洋大西洋水流问题.md)
391-
* [图论:827.最大人工岛](./problems/0827.最大人工岛.md)
392-
* [图论:127. 单词接龙](./problems/0127.单词接龙.md)
393-
* [图论:841.钥匙和房间](./problems/0841.钥匙和房间.md)
394-
* [图论:463. 岛屿的周长](./problems/0463.岛屿的周长.md)
395-
* [图论:并查集理论基础](./problems/图论并查集理论基础.md)
396-
* [图论:1971. 寻找图中是否存在路径](./problems/1971.寻找图中是否存在路径.md)
397-
* [图论:684.冗余连接](./problems/0684.冗余连接.md)
398-
* [图论:685.冗余连接II](./problems/0685.冗余连接II.md)
399-
400-
(持续更新中....)
401-
378+
**[图论正式发布](./problems/qita/tulunfabu.md)**
379+
380+
1. [图论:理论基础](./problems/kamacoder/图论理论基础.md)
381+
2. [图论:深度优先搜索理论基础](./problems/kamacoder/图论深搜理论基础.md)
382+
3. [图论:所有可达路径](./problems/kamacoder/0098.所有可达路径.md)
383+
4. [图论:广度优先搜索理论基础](./problems/kamacoder/图论广搜理论基础.md)
384+
5. [图论:岛屿数量.深搜版](./problems/kamacoder/0099.岛屿的数量深搜.md)
385+
6. [图论:岛屿数量.广搜版](./problems/kamacoder/0099.岛屿的数量广搜.md)
386+
7. [图论:岛屿的最大面积](./problems/kamacoder/0100.岛屿的最大面积.md)
387+
8. [图论:孤岛的总面积](./problems/kamacoder/0101.孤岛的总面积.md)
388+
9. [图论:沉没孤岛](./problems/kamacoder/0102.沉没孤岛.md)
389+
10. [图论:水流问题](./problems/kamacoder/0103.水流问题.md)
390+
11. [图论:建造最大岛屿](./problems/kamacoder/0104.建造最大岛屿.md)
391+
12. [图论:岛屿的周长](./problems/kamacoder/0106.岛屿的周长.md)
392+
13. [图论:字符串接龙](./problems/kamacoder/0110.字符串接龙.md)
393+
14. [图论:有向图的完全可达性](./problems/kamacoder/0105.有向图的完全可达性.md)
394+
15. [图论:并查集理论基础](./problems/kamacoder/图论并查集理论基础.md)
395+
16. [图论:寻找存在的路径](./problems/kamacoder/0107.寻找存在的路径.md)
396+
17. [图论:冗余连接](./problems/kamacoder/0108.冗余连接.md)
397+
18. [图论:冗余连接II](./problems/kamacoder/0109.冗余连接II.md)
398+
19. [图论:最小生成树之prim](./problems/kamacoder/0053.寻宝-prim.md)
399+
20. [图论:最小生成树之kruskal](./problems/kamacoder/0053.寻宝-Kruskal.md)
400+
21. [图论:拓扑排序](./problems/kamacoder/0117.软件构建.md)
401+
22. [图论:dijkstra(朴素版)](./problems/kamacoder/0047.参会dijkstra朴素.md)
402+
23. [图论:dijkstra(堆优化版)](./problems/kamacoder/0047.参会dijkstra堆.md)
403+
24. [图论:Bellman_ford 算法](./problems/kamacoder/0094.城市间货物运输I.md)
404+
25. [图论:Bellman_ford 队列优化算法(又名SPFA)](./problems/kamacoder/0094.城市间货物运输I-SPFA.md)
405+
26. [图论:Bellman_ford之判断负权回路](./problems/kamacoder/0095.城市间货物运输II.md)
406+
27. [图论:Bellman_ford之单源有限最短路](./problems/kamacoder/0096.城市间货物运输III.md)
407+
28. [图论:Floyd 算法](./problems/kamacoder/0097.小明逛公园.md)
408+
29. [图论:A * 算法](./problems/kamacoder/0126.骑士的攻击astar.md)
409+
30. [图论:最短路算法总结篇](./problems/kamacoder/最短路问题总结篇.md)
410+
31. [图论:图论总结篇](./problems/kamacoder/图论总结篇.md)
402411

403-
## 十大排序
404412

405-
## 数论
406-
407-
## 高级数据结构经典题目
408-
409-
* 并查集
410-
* 最小生成树
411-
* 线段树
412-
* 树状数组
413-
* 字典树
414-
415-
## 海量数据处理
413+
(持续更新中....)
416414

417415
# 补充题目
418416

@@ -510,5 +508,5 @@
510508

511509
添加微信记得备注,如果是已工作,备注:姓名-城市-岗位。如果学生,备注:姓名-学校-年级。**备注没有自我介绍不通过哦**
512510

513-
<div align="center"><img src="https://code-thinking-1253855093.file.myqcloud.com/pics/第二企业刷题活码.png" data-img="1" width="200" height="200"></img></div>
511+
<div align="center"><img src="https://file1.kamacoder.com/i/algo/shuati20250519.jpg" data-img="1" width="200" height="200"></img></div>
514512

pics/阿里云.png

-333 KB
Binary file not shown.

problems/0001.两数之和.md

100644100755
Lines changed: 25 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
1-
<p align="center">
2-
<a href="https://www.programmercarl.com/xunlian/xunlianying.html" target="_blank">
3-
<img src="../pics/训练营.png" width="1000"/>
4-
</a>
5-
<p align="center"><strong><a href="./qita/join.md">参与本项目</a>,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们受益!</strong></p>
1+
* [做项目(多个C++、Java、Go、测开、前端项目)](https://www.programmercarl.com/other/kstar.html)
2+
* [刷算法(两个月高强度学算法)](https://www.programmercarl.com/xunlian/xunlianying.html)
3+
* [背八股(40天挑战高频面试题)](https://www.programmercarl.com/xunlian/bagu.html)
64

75

86
# 1. 两数之和
@@ -85,10 +83,10 @@ map目的用来存放我们访问过的元素,因为遍历数组的时候,
8583

8684
过程如下:
8785

88-
![过程一](https://code-thinking-1253855093.file.myqcloud.com/pics/20220711202638.png)
86+
![过程一](https://file1.kamacoder.com/i/algo/20220711202638.png)
8987

9088

91-
![过程二](https://code-thinking-1253855093.file.myqcloud.com/pics/20230220223536.png)
89+
![过程二](https://file1.kamacoder.com/i/algo/20230220223536.png)
9290

9391
C++代码:
9492

@@ -152,6 +150,24 @@ public int[] twoSum(int[] nums, int target) {
152150
return res;
153151
}
154152
```
153+
154+
```java
155+
//使用哈希表方法2
156+
public int[] twoSum(int[] nums, int target) {
157+
Map<Integer, Integer> indexMap = new HashMap<>();
158+
159+
for(int i = 0; i < nums.length; i++){
160+
int balance = target - nums[i]; // 记录当前的目标值的余数
161+
if(indexMap.containsKey(balance)){ // 查找当前的map中是否有满足要求的值
162+
return new int []{i, indexMap.get(balance)}; // 如果有,返回目标值
163+
} else{
164+
indexMap.put(nums[i], i); // 如果没有,把访问过的元素和下标加入map中
165+
}
166+
}
167+
return null;
168+
}
169+
```
170+
155171
```java
156172
//使用双指针
157173
public int[] twoSum(int[] nums, int target) {
@@ -323,7 +339,7 @@ impl Solution {
323339
}
324340
```
325341

326-
### Javascript:
342+
### JavaScript:
327343

328344
```javascript
329345
var twoSum = function (nums, target) {
@@ -349,6 +365,7 @@ function twoSum(nums: number[], target: number): number[] {
349365
index = helperMap.get(target - nums[i]);
350366
if (index !== undefined) {
351367
resArr = [i, index];
368+
break;
352369
}
353370
helperMap.set(nums[i], i);
354371
}
@@ -538,7 +555,3 @@ int* twoSum(int* nums, int numsSize, int target, int* returnSize){
538555
}
539556
```
540557

541-
<p align="center">
542-
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
543-
<img src="../pics/网站星球宣传海报.jpg" width="1000"/>
544-
</a>

0 commit comments

Comments
 (0)