diff --git a/problems/0416.分割等和子集.md b/problems/0416.分割等和子集.md
index a886b99a..0657c010 100644
--- a/problems/0416.分割等和子集.md
+++ b/problems/0416.分割等和子集.md
@@ -30,9 +30,9 @@
* 1 <= nums.length <= 200
* 1 <= nums[i] <= 100
-# 算法公开课
+## 算法公开课
-**《代码随想录》算法视频公开课:[动态规划之背包问题,这个包能装满吗?| LeetCode:416.分割等和子集](https://www.bilibili.com/video/BV1rt4y1N7jE/),相信结合视频再看本篇题解,更有助于大家对本题的理解**。
+**[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html):[动态规划之背包问题,这个包能装满吗?| LeetCode:416.分割等和子集](https://www.bilibili.com/video/BV1rt4y1N7jE/),相信结合视频再看本篇题解,更有助于大家对本题的理解**。
## 思路
@@ -53,7 +53,7 @@
* [动态规划:关于01背包问题,你该了解这些!](https://programmercarl.com/背包理论基础01背包-1.html)
* [动态规划:关于01背包问题,你该了解这些!(滚动数组)](https://programmercarl.com/背包理论基础01背包-2.html)
-## 01背包问题
+### 01背包问题
背包问题,大家都知道,有N件物品和一个最多能背重量为W 的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品只能用一次,求解将哪些物品装入背包里物品价值总和最大。
@@ -479,7 +479,7 @@ func canPartition(nums []int) bool {
}
```
-### javaScript:
+### JavaScript:
```js
var canPartition = function(nums) {
@@ -499,7 +499,7 @@ var canPartition = function(nums) {
```
-### Rust
+### Rust:
```Rust
impl Solution {
@@ -681,7 +681,7 @@ function canPartition(nums: number[]): boolean {
};
```
-### Scala
+### Scala:
滚动数组:
```scala
@@ -730,3 +730,4 @@ object Solution {
+
diff --git a/problems/0474.一和零.md b/problems/0474.一和零.md
index 7c1206ef..8f6197ac 100644
--- a/problems/0474.一和零.md
+++ b/problems/0474.一和零.md
@@ -34,9 +34,9 @@
* strs[i] 仅由 '0' 和 '1' 组成
* 1 <= m, n <= 100
-# 算法公开课
+## 算法公开课
-**《代码随想录》算法视频公开课:[装满这个背包最多用多少个物品?| LeetCode:474.一和零](https://www.bilibili.com/video/BV1rW4y1x7ZQ/),相信结合视频再看本篇题解,更有助于大家对本题的理解**。
+**[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html):[装满这个背包最多用多少个物品?| LeetCode:474.一和零](https://www.bilibili.com/video/BV1rW4y1x7ZQ/),相信结合视频再看本篇题解,更有助于大家对本题的理解**。
## 思路
@@ -538,3 +538,4 @@ impl Solution {
+
diff --git a/problems/0494.目标和.md b/problems/0494.目标和.md
index 1902d5ed..4a4e966c 100644
--- a/problems/0494.目标和.md
+++ b/problems/0494.目标和.md
@@ -37,9 +37,9 @@
* 初始的数组的和不会超过 1000 。
* 保证返回的最终结果能被 32 位整数存下。
-# 算法公开课
+## 算法公开课
-**《代码随想录》算法视频公开课:[装满背包有多少种方法?| LeetCode:494.目标和](https://www.bilibili.com/video/BV1o8411j73x/),相信结合视频再看本篇题解,更有助于大家对本题的理解**。
+**[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html):[装满背包有多少种方法?| LeetCode:494.目标和](https://www.bilibili.com/video/BV1o8411j73x/),相信结合视频再看本篇题解,更有助于大家对本题的理解**。
## 思路
@@ -67,7 +67,7 @@ target是固定的,sum是固定的,left就可以求出来。
此时问题就是在集合nums中找出和为left的组合。
-## 回溯算法
+### 回溯算法
在回溯算法系列中,一起学过这道题目[回溯算法:39. 组合总和](https://programmercarl.com/0039.组合总和.html)的录友应该感觉很熟悉,这不就是组合总和问题么?
@@ -118,7 +118,7 @@ public:
也可以使用记忆化回溯,但这里我就不在回溯上下功夫了,直接看动规吧
-## 动态规划
+### 动态规划
如何转化为01背包问题呢。
@@ -519,8 +519,6 @@ const findTargetSumWays = (nums, target) => {
### TypeScript
-TypeScript:
-
```ts
function findTargetSumWays(nums: number[], target: number): number {
// 把数组分成两个组合left, right.left + right = sum, left - right = target.
@@ -590,3 +588,4 @@ impl Solution {
+
diff --git a/problems/1049.最后一块石头的重量II.md b/problems/1049.最后一块石头的重量II.md
index 932029ab..cc661317 100644
--- a/problems/1049.最后一块石头的重量II.md
+++ b/problems/1049.最后一块石头的重量II.md
@@ -35,9 +35,9 @@
* 1 <= stones.length <= 30
* 1 <= stones[i] <= 1000
-# 算法公开课
+## 算法公开课
-**《代码随想录》算法视频公开课:[这个背包最多能装多少?LeetCode:1049.最后一块石头的重量II](https://www.bilibili.com/video/BV14M411C7oV/),相信结合视频再看本篇题解,更有助于大家对本题的理解**。
+**[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html):[这个背包最多能装多少?LeetCode:1049.最后一块石头的重量II](https://www.bilibili.com/video/BV14M411C7oV/),相信结合视频再看本篇题解,更有助于大家对本题的理解**。
## 思路
@@ -341,7 +341,7 @@ func max(a, b int) int {
}
```
-### JavaScript
+### JavaScript:
```javascript
/**
@@ -364,7 +364,7 @@ var lastStoneWeightII = function (stones) {
};
```
-### C
+### C:
```c
#define MAX(a, b) (((a) > (b)) ? (a) : (b))
@@ -413,7 +413,7 @@ function lastStoneWeightII(stones: number[]): number {
};
```
-### Scala
+### Scala:
滚动数组:
```scala
@@ -455,7 +455,7 @@ object Solution {
}
```
-### Rust
+### Rust:
```rust
impl Solution {
@@ -477,3 +477,4 @@ impl Solution {
+