auto commit

This commit is contained in:
CyC2018 2018-02-22 17:10:27 +08:00
parent 60e98a0f2e
commit dd1578489c
2 changed files with 9 additions and 23 deletions

View File

@ -1999,7 +1999,15 @@ public int wiggleMaxLength(int[] nums) {
综上,最长公共子系列的状态转移方程为: 综上,最长公共子系列的状态转移方程为:
![](http://latex.codecogs.com/gif.latex?\\\\dp[i][j]=\left\{\begin{array}{rcl}dp[i-1][j-1]&&{S1_i==S2_j}\\max(dp[i-1][j],dp[i][j-1])&&{S1_i<>S2_j}\end{array}\right.) ![](http://latex.codecogs.com/gif.latex?\\\\
dp[i][j]=\left\{
\begin{array}{rcl}
dp[i-1][j-1]&&{S1_i==S2_j}\\
max(dp[i-1][j],dp[i][j-1])&&{S1_i<>S2_j}
\end{array}\right.
)
![](https://github.com/CyC2018/InterviewNotes/blob/master/pics/1dc481cc-99f6-4fa8-8f68-fbd563995bf5.png)
对于长度为 N 的序列 S<sub>1</sub> 和 长度为 M 的序列 S<sub>2</sub>dp[N][M] 就是序列 S<sub>1</sub> 和序列 S<sub>2</sub> 的最长公共子序列长度。 对于长度为 N 的序列 S<sub>1</sub> 和 长度为 M 的序列 S<sub>2</sub>dp[N][M] 就是序列 S<sub>1</sub> 和序列 S<sub>2</sub> 的最长公共子序列长度。
@ -2064,7 +2072,6 @@ public int knapsack(int W, int N, int[] weights, int[] values) {
因为 dp[j-w] 表示 dp[i-1][j-w],因此不能先求 dp[i][j-w] 防止将 dp[i-1][j-w] 覆盖。也就是说要先计算 dp[i][j] 再计算 dp[i][j-w],在程序实现时需要按倒序来循环求解。 因为 dp[j-w] 表示 dp[i-1][j-w],因此不能先求 dp[i][j-w] 防止将 dp[i-1][j-w] 覆盖。也就是说要先计算 dp[i][j] 再计算 dp[i][j-w],在程序实现时需要按倒序来循环求解。
**无法使用贪心算法的解释** **无法使用贪心算法的解释**
0-1 背包问题无法使用贪心算法来求解,也就是说不能按照先添加性价比最高的物品来达到最优,这是因为这种方式可能造成背包空间的浪费,从而无法达到最优。考虑下面的物品和一个容量为 5 的背包,如果先添加物品 0 再添加物品 1那么只能存放的价值为 16浪费了大小为 2 的空间。最优的方式是存放物品 1 和物品 2价值为 22. 0-1 背包问题无法使用贪心算法来求解,也就是说不能按照先添加性价比最高的物品来达到最优,这是因为这种方式可能造成背包空间的浪费,从而无法达到最优。考虑下面的物品和一个容量为 5 的背包,如果先添加物品 0 再添加物品 1那么只能存放的价值为 16浪费了大小为 2 的空间。最优的方式是存放物品 1 和物品 2价值为 22.
@ -2448,9 +2455,6 @@ public int minDistance(String word1, String word2) {
[Leetcode : 72. Edit Distance (Hard)](https://leetcode.com/problems/edit-distance/description/) [Leetcode : 72. Edit Distance (Hard)](https://leetcode.com/problems/edit-distance/description/)
**修改一个字符串使它成为回文字符串**// TODO
[程序员代码面试指南-字符串](#)
### 其它问题 ### 其它问题
@ -2851,12 +2855,6 @@ public int majorityElement(int[] nums) {
} }
``` ```
**数组中出现次数多于 n / k 的元素**
[程序员代码面试指南 P343](#)
选 k - 1 个候选
### 其它 ### 其它
**平方数** **平方数**
@ -3428,14 +3426,6 @@ s1
## 数组与矩阵 ## 数组与矩阵
**矩阵旋转** // TODO
[程序员面试金典 P114](#)
**之字型打印** //TODO
[程序员代码面试指南 P335](#)
**把数组中的 0 移到末尾** **把数组中的 0 移到末尾**
[Leetcode : 283. Move Zeroes (Easy)](https://leetcode.com/problems/move-zeroes/description/) [Leetcode : 283. Move Zeroes (Easy)](https://leetcode.com/problems/move-zeroes/description/)
@ -4919,10 +4909,6 @@ public int getSum(int a, int b) {
} }
``` ```
**实现整数乘法**
[程序员代码面试指南 P319](#)
**字符串数组最大乘积** **字符串数组最大乘积**
[Leetcode : 318. Maximum Product of Word Lengths (Medium)](https://leetcode.com/problems/maximum-product-of-word-lengths/description/) [Leetcode : 318. Maximum Product of Word Lengths (Medium)](https://leetcode.com/problems/maximum-product-of-word-lengths/description/)

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB