diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 00000000..da03c1c1 Binary files /dev/null and b/.DS_Store differ diff --git a/README.md b/README.md index 3b0e8d65..a04f58a6 100644 --- a/README.md +++ b/README.md @@ -131,7 +131,7 @@ 1. [数组过于简单,但你该了解这些!](./problems/数组理论基础.md) 2. [数组:二分查找](./problems/0704.二分查找.md) 3. [数组:移除元素](./problems/0027.移除元素.md) -4. [数组:序数组的平方](./problems/0977.有序数组的平方.md) +4. [数组:有序数组的平方](./problems/0977.有序数组的平方.md) 5. [数组:长度最小的子数组](./problems/0209.长度最小的子数组.md) 6. [数组:螺旋矩阵II](./problems/0059.螺旋矩阵II.md) 7. [数组:总结篇](./problems/数组总结篇.md) diff --git a/problems/.DS_Store b/problems/.DS_Store new file mode 100644 index 00000000..32266f38 Binary files /dev/null and b/problems/.DS_Store differ diff --git a/problems/0028.实现strStr.md b/problems/0028.实现strStr.md index fc222441..4e01926f 100644 --- a/problems/0028.实现strStr.md +++ b/problems/0028.实现strStr.md @@ -174,9 +174,11 @@ next数组就是一个前缀表(prefix table)。 长度为前1个字符的子串`a`,最长相同前后缀的长度为0。(注意字符串的**前缀是指不包含最后一个字符的所有以第一个字符开头的连续子串**;**后缀是指不包含第一个字符的所有以最后一个字符结尾的连续子串**。) KMP精讲6 + 长度为前2个字符的子串`aa`,最长相同前后缀的长度为1。 KMP精讲7 + 长度为前3个字符的子串`aab`,最长相同前后缀的长度为0。 以此类推: diff --git a/problems/0494.目标和.md b/problems/0494.目标和.md index 6c8c28ec..eec4183d 100644 --- a/problems/0494.目标和.md +++ b/problems/0494.目标和.md @@ -270,6 +270,8 @@ class Solution { public int findTargetSumWays(int[] nums, int target) { int sum = 0; for (int i = 0; i < nums.length; i++) sum += nums[i]; + //如果target过大 sum将无法满足 + if ( target < 0 && sum < -target) return 0; if ((target + sum) % 2 != 0) return 0; int size = (target + sum) / 2; if(size < 0) size = -size; diff --git a/problems/0518.零钱兑换II.md b/problems/0518.零钱兑换II.md index 2fc807cd..f6a8044c 100644 --- a/problems/0518.零钱兑换II.md +++ b/problems/0518.零钱兑换II.md @@ -95,6 +95,8 @@ dp[j] 就是所有的dp[j - coins[i]](考虑coins[i]的情况)相加。 下标非0的dp[j]初始化为0,这样累计加dp[j - coins[i]]的时候才不会影响真正的dp[j] +dp[0]=1还说明了一种情况:如果正好选了coins[i]后,也就是j-coins[i] == 0的情况表示这个硬币刚好能选,此时dp[0]为1表示只选coins[i]存在这样的一种选法。 + 4. 确定遍历顺序 本题中我们是外层for循环遍历物品(钱币),内层for遍历背包(金钱总额),还是外层for遍历背包(金钱总额),内层for循环遍历物品(钱币)呢? @@ -316,3 +318,4 @@ object Solution { +