摘要:
核心思想是使用一个数组dp来保存,dp[i]的意义是到该位置为止的最长递增子序列。最后求所有位置的最大值,而不是dp的最后元素。 阅读全文
摘要:
这道题的分割条件由集合内的字符串决定,因此在考虑每个分割位置时,需要遍历字符串集合,以确定当前位置是否可以成功分割,注意对于位置0,需要初始化值为真。 阅读全文
摘要:
本文我们学习了使用正则表达式从格式、范围和月份长度等规则匹配公历日期。 阅读全文
摘要:
leetcode 91. Decode Ways 解码方法(中等) 阅读全文
摘要:
动态规划,dp[i]表示i有几个完全平方数的加和构成,枚举比i小的完全平方数,状态转移方程为dp[i] = min(dp[i-k] + 1) ,k就是完全平方数 阅读全文
摘要:
使用动态规划来解决,使用dp[i][j]表示以(i,j)为右下角,且只饮食1的正方形的边长最大值。如果我们能计算出所有dp[i][j]的值,那么其中的最大值即为矩阵中只饮食1的下方形的边长最大值,其平方即为最大下方形的面积。 阅读全文
摘要:
判断使用动态规划思路解决问题,先定义一个数组dp[][]来,找到状态转移方程式。本题需要从左上开始搜索一次,右下开始搜索一次。 阅读全文
摘要:
二维的动态规则,定义一个二维dp数组,其中dp[i][j]表示从左上角开始到(i, j)位置的最优路径的数字和。因为每次只能向下或者向右移动,我们可以得到状态转移方程dp[i][j] = min(dp[i-1][j], dp[i][j-1]) + grid[i][j]。 阅读全文
摘要:
因为是求等差数列,可以想到满足num[i]-num[i-1]=num[i-1]-num[i-2] 阅读全文
摘要:
动态规划,把转移方程找出来就解决一半了 leetcode 198. House Robber 打家劫舍(中等) 阅读全文