mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-06 23:28:29 +08:00
Update
This commit is contained in:
@ -305,7 +305,8 @@
|
|||||||
|
|
||||||
背包问题系列:
|
背包问题系列:
|
||||||
|
|
||||||
<img src='https://img-blog.csdnimg.cn/202102261550480.png' width=500 alt='背包问题大纲'> </img></div>
|
<img src='https://code-thinking.cdn.bcebos.com/pics/动态规划-背包问题总结.png' width=500 alt='背包问题大纲'> </img></div>
|
||||||
|
|
||||||
|
|
||||||
11. [动态规划:关于01背包问题,你该了解这些!](./problems/背包理论基础01背包-1.md)
|
11. [动态规划:关于01背包问题,你该了解这些!](./problems/背包理论基础01背包-1.md)
|
||||||
12. [动态规划:关于01背包问题,你该了解这些!(滚动数组)](./problems/背包理论基础01背包-2.md)
|
12. [动态规划:关于01背包问题,你该了解这些!(滚动数组)](./problems/背包理论基础01背包-2.md)
|
||||||
@ -334,7 +335,8 @@
|
|||||||
|
|
||||||
股票系列:
|
股票系列:
|
||||||
|
|
||||||
<img src='https://code-thinking.cdn.bcebos.com/pics/%E8%82%A1%E7%A5%A8%E9%97%AE%E9%A2%98%E6%80%BB%E7%BB%93.jpg' width=500 alt='股票问题总结'> </img></div>
|
<img src='https://code-thinking.cdn.bcebos.com/pics/股票问题总结.jpg' width=500 alt='股票问题总结'> </img></div>
|
||||||
|
|
||||||
|
|
||||||
32. [动态规划:买卖股票的最佳时机](./problems/0121.买卖股票的最佳时机.md)
|
32. [动态规划:买卖股票的最佳时机](./problems/0121.买卖股票的最佳时机.md)
|
||||||
33. [动态规划:本周我们都讲了这些(系列六)](./problems/周总结/20210225动规周末总结.md)
|
33. [动态规划:本周我们都讲了这些(系列六)](./problems/周总结/20210225动规周末总结.md)
|
||||||
@ -348,6 +350,9 @@
|
|||||||
|
|
||||||
子序列系列:
|
子序列系列:
|
||||||
|
|
||||||
|
<img src='https://code-thinking.cdn.bcebos.com/pics/动态规划-子序列问题总结.jpg' width=500 alt=''> </img></div>
|
||||||
|
|
||||||
|
|
||||||
40. [动态规划:最长递增子序列](./problems/0300.最长上升子序列.md)
|
40. [动态规划:最长递增子序列](./problems/0300.最长上升子序列.md)
|
||||||
41. [动态规划:最长连续递增序列](./problems/0674.最长连续递增序列.md)
|
41. [动态规划:最长连续递增序列](./problems/0674.最长连续递增序列.md)
|
||||||
42. [动态规划:最长重复子数组](./problems/0718.最长重复子数组.md)
|
42. [动态规划:最长重复子数组](./problems/0718.最长重复子数组.md)
|
||||||
|
@ -57,7 +57,7 @@ std::unordered_map 底层实现为哈希表,std::map 和std::multimap 的底
|
|||||||
|
|
||||||
解题思路动画如下:
|
解题思路动画如下:
|
||||||
|
|
||||||
<video src='https://code-thinking.cdn.bcebos.com/gifs/1.%E4%B8%A4%E6%95%B0%E4%B9%8B%E5%92%8C.mp4' controls='controls' width='640' height='320' autoplay='autoplay'> Your browser does not support the video tag.</video></div>
|

|
||||||
|
|
||||||
C++代码:
|
C++代码:
|
||||||
|
|
||||||
|
@ -22,13 +22,13 @@ https://leetcode-cn.com/problems/happy-number/
|
|||||||
|
|
||||||
**示例:**
|
**示例:**
|
||||||
|
|
||||||
输入:19
|
输入:19
|
||||||
输出:true
|
输出:true
|
||||||
解释:
|
解释:
|
||||||
1^2 + 9^2 = 82
|
1^2 + 9^2 = 82
|
||||||
8^2 + 2^2 = 68
|
8^2 + 2^2 = 68
|
||||||
6^2 + 8^2 = 100
|
6^2 + 8^2 = 100
|
||||||
1^2 + 0^2 + 0^2 = 1
|
1^2 + 0^2 + 0^2 = 1
|
||||||
|
|
||||||
# 思路
|
# 思路
|
||||||
|
|
||||||
@ -36,7 +36,7 @@ https://leetcode-cn.com/problems/happy-number/
|
|||||||
|
|
||||||
题目中说了会 **无限循环**,那么也就是说**求和的过程中,sum会重复出现,这对解题很重要!**
|
题目中说了会 **无限循环**,那么也就是说**求和的过程中,sum会重复出现,这对解题很重要!**
|
||||||
|
|
||||||
正如:[关于哈希表,你该了解这些!](https://mp.weixin.qq.com/s/g8N6WmoQmsCUw3_BaWxHZA)中所说,**当我们遇到了要快速判断一个元素是否出现集合里的时候,就要考虑哈希法了。**
|
正如:[关于哈希表,你该了解这些!](https://mp.weixin.qq.com/s/RSUANESA_tkhKhYe3ZR8Jg)中所说,**当我们遇到了要快速判断一个元素是否出现集合里的时候,就要考虑哈希法了。**
|
||||||
|
|
||||||
所以这道题目使用哈希法,来判断这个sum是否重复出现,如果重复了就是return false, 否则一直找到sum为1为止。
|
所以这道题目使用哈希法,来判断这个sum是否重复出现,如果重复了就是return false, 否则一直找到sum为1为止。
|
||||||
|
|
||||||
@ -80,7 +80,7 @@ public:
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
## 其他语言版本
|
# 其他语言版本
|
||||||
|
|
||||||
|
|
||||||
Java:
|
Java:
|
||||||
|
@ -15,7 +15,18 @@ https://leetcode-cn.com/problems/remove-linked-list-elements/
|
|||||||
|
|
||||||
题意:删除链表中等于给定值 val 的所有节点。
|
题意:删除链表中等于给定值 val 的所有节点。
|
||||||
|
|
||||||

|
示例 1:
|
||||||
|
输入:head = [1,2,6,3,4,5,6], val = 6
|
||||||
|
输出:[1,2,3,4,5]
|
||||||
|
|
||||||
|
示例 2:
|
||||||
|
输入:head = [], val = 1
|
||||||
|
输出:[]
|
||||||
|
|
||||||
|
示例 3:
|
||||||
|
输入:head = [7,7,7,7], val = 7
|
||||||
|
输出:[]
|
||||||
|
|
||||||
|
|
||||||
# 思路
|
# 思路
|
||||||
|
|
||||||
|
@ -116,26 +116,6 @@ public:
|
|||||||
|
|
||||||
不要以为for里放一个while就以为是$O(n^2)$啊, 主要是看每一个元素被操作的次数,每个元素在滑动窗后进来操作一次,出去操作一次,每个元素都是被被操作两次,所以时间复杂度是2 * n 也就是$O(n)$。
|
不要以为for里放一个while就以为是$O(n^2)$啊, 主要是看每一个元素被操作的次数,每个元素在滑动窗后进来操作一次,出去操作一次,每个元素都是被被操作两次,所以时间复杂度是2 * n 也就是$O(n)$。
|
||||||
|
|
||||||
## 其他语言补充
|
|
||||||
|
|
||||||
python:
|
|
||||||
|
|
||||||
```python
|
|
||||||
class Solution:
|
|
||||||
def minSubArrayLen(self, s: int, nums: List[int]) -> int:
|
|
||||||
# 定义一个无限大的数
|
|
||||||
res = float("inf")
|
|
||||||
Sum = 0
|
|
||||||
index = 0
|
|
||||||
for i in range(len(nums)):
|
|
||||||
Sum += nums[i]
|
|
||||||
while Sum >= s:
|
|
||||||
res = min(res, i-index+1)
|
|
||||||
Sum -= nums[index]
|
|
||||||
index += 1
|
|
||||||
return 0 if res==float("inf") else res
|
|
||||||
```
|
|
||||||
|
|
||||||
## 相关题目推荐
|
## 相关题目推荐
|
||||||
|
|
||||||
* 904.水果成篮
|
* 904.水果成篮
|
||||||
@ -170,6 +150,22 @@ class Solution {
|
|||||||
|
|
||||||
Python:
|
Python:
|
||||||
|
|
||||||
|
```python
|
||||||
|
class Solution:
|
||||||
|
def minSubArrayLen(self, s: int, nums: List[int]) -> int:
|
||||||
|
# 定义一个无限大的数
|
||||||
|
res = float("inf")
|
||||||
|
Sum = 0
|
||||||
|
index = 0
|
||||||
|
for i in range(len(nums)):
|
||||||
|
Sum += nums[i]
|
||||||
|
while Sum >= s:
|
||||||
|
res = min(res, i-index+1)
|
||||||
|
Sum -= nums[index]
|
||||||
|
index += 1
|
||||||
|
return 0 if res==float("inf") else res
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
Go:
|
Go:
|
||||||
```go
|
```go
|
||||||
|
@ -19,15 +19,15 @@
|
|||||||
|
|
||||||
示例:
|
示例:
|
||||||
|
|
||||||
输入:nums: [1, 1, 1, 1, 1], S: 3
|
输入:nums: [1, 1, 1, 1, 1], S: 3
|
||||||
输出:5
|
输出:5
|
||||||
解释:
|
|
||||||
|
|
||||||
-1+1+1+1+1 = 3
|
解释:
|
||||||
+1-1+1+1+1 = 3
|
-1+1+1+1+1 = 3
|
||||||
+1+1-1+1+1 = 3
|
+1-1+1+1+1 = 3
|
||||||
+1+1+1-1+1 = 3
|
+1+1-1+1+1 = 3
|
||||||
+1+1+1+1-1 = 3
|
+1+1+1-1+1 = 3
|
||||||
|
+1+1+1+1-1 = 3
|
||||||
|
|
||||||
一共有5种方法让最终目标和为3。
|
一共有5种方法让最终目标和为3。
|
||||||
|
|
||||||
|
@ -265,7 +265,9 @@ class Solution {
|
|||||||
```
|
```
|
||||||
|
|
||||||
Python:
|
Python:
|
||||||
|
|
||||||
```python3
|
```python3
|
||||||
|
|
||||||
# Definition for a binary tree node.
|
# Definition for a binary tree node.
|
||||||
# class TreeNode:
|
# class TreeNode:
|
||||||
# def __init__(self, val=0, left=None, right=None):
|
# def __init__(self, val=0, left=None, right=None):
|
||||||
|
@ -95,18 +95,6 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
## 其他语言版本
|
|
||||||
|
|
||||||
|
|
||||||
Java:
|
|
||||||
|
|
||||||
|
|
||||||
Python:
|
|
||||||
|
|
||||||
|
|
||||||
Go:
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
-----------------------
|
-----------------------
|
||||||
|
Reference in New Issue
Block a user