Skip to content

Commit 70f3d44

Browse files
Merge branch 'master' of github.com:youngyangyang04/leetcode-master
2 parents a01c3f7 + 826f380 commit 70f3d44

28 files changed

+191
-23
lines changed

problems/0015.三数之和.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ public:
171171

172172
#### a的去重
173173

174-
说道去重,其实主要考虑三个数的去重。 a, b ,c, 对应的就是 nums[i],nums[left],nums[right]
174+
说到去重,其实主要考虑三个数的去重。 a, b ,c, 对应的就是 nums[i],nums[left],nums[right]
175175

176176
a 如果重复了怎么办,a是nums里遍历的元素,那么应该直接跳过去。
177177

@@ -181,7 +181,7 @@ a 如果重复了怎么办,a是nums里遍历的元素,那么应该直接跳
181181

182182
其实不一样!
183183

184-
都是和 nums[i]进行比较,是比较它的前一个,还是比较他的后一个
184+
都是和 nums[i]进行比较,是比较它的前一个,还是比较它的后一个
185185

186186
如果我们的写法是 这样:
187187

@@ -191,7 +191,7 @@ if (nums[i] == nums[i + 1]) { // 去重操作
191191
}
192192
```
193193

194-
那就我们就把 三元组中出现重复元素的情况直接pass掉了。 例如{-1, -1 ,2} 这组数据,当遍历到第一个-1 的时候,判断 下一个也是-1,那这组数据就pass了。
194+
那我们就把 三元组中出现重复元素的情况直接pass掉了。 例如{-1, -1 ,2} 这组数据,当遍历到第一个-1 的时候,判断 下一个也是-1,那这组数据就pass了。
195195

196196
**我们要做的是 不能有重复的三元组,但三元组内的元素是可以重复的!**
197197

problems/0018.四数之和.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -649,6 +649,54 @@ object Solution {
649649
}
650650
}
651651
```
652+
### Ruby:
653+
654+
```ruby
655+
def four_sum(nums, target)
656+
#结果集
657+
result = []
658+
nums = nums.sort!
659+
660+
for i in 0..nums.size - 1
661+
return result if i > 0 && nums[i] > target && nums[i] >= 0
662+
#对a进行去重
663+
next if i > 0 && nums[i] == nums[i - 1]
664+
665+
for j in i + 1..nums.size - 1
666+
break if nums[i] + nums[j] > target && nums[i] + nums[j] >= 0
667+
#对b进行去重
668+
next if j > i + 1 && nums[j] == nums[j - 1]
669+
left = j + 1
670+
right = nums.size - 1
671+
while left < right
672+
sum = nums[i] + nums[j] + nums[left] + nums[right]
673+
if sum > target
674+
right -= 1
675+
elsif sum < target
676+
left += 1
677+
else
678+
result << [nums[i], nums[j], nums[left], nums[right]]
679+
680+
#对c进行去重
681+
while left < right && nums[left] == nums[left + 1]
682+
left += 1
683+
end
684+
685+
#对d进行去重
686+
while left < right && nums[right] == nums[right - 1]
687+
right -= 1
688+
end
689+
690+
right -= 1
691+
left += 1
692+
end
693+
end
694+
end
695+
end
696+
697+
return result
698+
end
699+
```
652700
<p align="center">
653701
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
654702
<img src="../pics/网站星球宣传海报.jpg" width="1000"/>

problems/0027.移除元素.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -444,4 +444,3 @@ public class Solution {
444444
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
445445
<img src="../pics/网站星球宣传海报.jpg" width="1000"/>
446446
</a>
447-

problems/0028.实现strStr.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,16 +27,16 @@
2727
当 needle 是空字符串时,我们应当返回什么值呢?这是一个在面试中很好的问题。
2828
对于本题而言,当 needle 是空字符串时我们应当返回 0 。这与C语言的 strstr() 以及 Java的 indexOf() 定义相符。
2929

30+
## 算法公开课
3031

31-
## 思路
32-
33-
本题是KMP 经典题目。
34-
35-
以下文字如果看不进去,可以看我的B站视频:
32+
本题是KMP 经典题目。以下文字如果看不进去,可以看[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html),相信结合视频再看本篇题解,更有助于大家对本题的理解。
3633

3734
* [帮你把KMP算法学个通透!B站(理论篇)](https://www.bilibili.com/video/BV1PD4y1o7nd/)
3835
* [帮你把KMP算法学个通透!(求next数组代码篇)](https://www.bilibili.com/video/BV1M5411j7Xx)
3936

37+
38+
## 思路
39+
4040
KMP的经典思想就是:**当出现字符串不匹配时,可以记录一部分之前已经匹配的文本内容,利用这些信息避免从头再去做匹配。**
4141

4242
本篇将以如下顺序来讲解KMP,
@@ -1362,3 +1362,4 @@ impl Solution {
13621362
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
13631363
<img src="../pics/网站星球宣传海报.jpg" width="1000"/>
13641364
</a>
1365+

problems/0042.接雨水.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,10 @@
2828
* 输入:height = [4,2,0,3,2,5]
2929
* 输出:9
3030

31+
## 算法公开课
32+
33+
**[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html)[单调栈,经典来袭!LeetCode:42.接雨水](https://www.bilibili.com/video/BV1uD4y1u75P/),相信结合视频在看本篇题解,更有助于大家对本题的理解**
34+
3135

3236
## 思路
3337

@@ -1029,4 +1033,3 @@ impl Solution {
10291033
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
10301034
<img src="../pics/网站星球宣传海报.jpg" width="1000"/>
10311035
</a>
1032-

problems/0045.跳跃游戏II.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -469,4 +469,3 @@ impl Solution {
469469
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
470470
<img src="../pics/网站星球宣传海报.jpg" width="1000"/>
471471
</a>
472-

problems/0059.螺旋矩阵II.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -741,4 +741,3 @@ end
741741
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
742742
<img src="../pics/网站星球宣传海报.jpg" width="1000"/>
743743
</a>
744-

problems/0062.不同路径.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -559,3 +559,4 @@ public class Solution
559559
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
560560
<img src="../pics/网站星球宣传海报.jpg" width="1000"/>
561561
</a>
562+

problems/0063.不同路径II.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -739,3 +739,4 @@ object Solution {
739739
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
740740
<img src="../pics/网站星球宣传海报.jpg" width="1000"/>
741741
</a>
742+

problems/0084.柱状图中最大的矩形.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@
2020
* 1 <= heights.length <=10^5
2121
* 0 <= heights[i] <= 10^4
2222

23+
## 算法公开课
24+
25+
**[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html)[单调栈,又一次经典来袭! LeetCode:84.柱状图中最大的矩形](https://www.bilibili.com/video/BV1Ns4y1o7uB/),相信结合视频再看本篇题解,更有助于大家对本题的理解**
26+
2327
## 思路
2428

2529
本题和[42. 接雨水](https://programmercarl.com/0042.接雨水.html),是遥相呼应的两道题目,建议都要仔细做一做,原理上有很多相同的地方,但细节上又有差异,更可以加深对单调栈的理解!

0 commit comments

Comments
 (0)