add quicksort

This commit is contained in:
ranwenjie
2021-11-30 23:50:23 +08:00
parent 73a3097a6e
commit 0de0504b9d
2 changed files with 68 additions and 3 deletions
+30 -3
View File
@@ -97,6 +97,7 @@ for 状态1 in 状态1的所有取值:
## 凑零钱问题
凑零钱问题[视频解读参考这里](https://www.ixigua.com/6881883015832666635?wid_try=1)
[实现代码这里](https://github.com/nonstriater/deep-in-java/tree/master/src/main/java/com/nonstriater/deepinjava/algo/list)
如果使用贪心策略,并不能得到最优解。
@@ -104,11 +105,12 @@ for 状态1 in 状态1的所有取值:
```Java
//递归解法,处理重叠子问题, 使用 dp[amount+1] 备忘录
int coinChange2(int[] coins, int amount) {
int coinChange2(int[] coins, int amount) {
int[] dp = new int[amount + 1];
// 数组大小为 amount + 1,初始值也为 amount + 1
// 为啥 dp 数组初始化为 amount + 1 呢,因为凑成 amount 金额的硬币数最多只可能等于 amount(全用 1 元面值的硬币),所以初始化为 amount + 1 就相当于初始化为正无穷
// 为啥 dp 数组初始化为 amount + 1 呢?
// 因为凑成 amount 金额的硬币数最多只可能等于 amount(全用 1 元面值的硬币),所以初始化为 amount + 1 就相当于初始化为正无穷
Arrays.fill(dp, amount + 1);
// base case
@@ -125,11 +127,36 @@ for 状态1 in 状态1的所有取值:
}
}
return (dp[amount] == amount + 1) ? -1 : dp[amount];
}
}
```
## 股票问题
```
```
## 接雨水问题
num[i]表示柱子高度,计算下雨之后最多能接多少雨水
```
```