![](https://img-blog.csdnimg.cn/20190918140145169.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Leetcode刷题之动态规划
samlee666
人活着快乐最重要啊
展开
-
Leetcode__198_rob_强盗抢劫
题目描述:抢劫一排住户,但是不能抢邻近的住户,求最大抢劫量。解决思路和代码:package DP;import java.util.Arrays;/** * 强盗抢劫 * Find recursive relation * Recursive (top-down) * Recursive + memo (top-down) * Iterative + memo (botto...原创 2019-09-27 17:15:16 · 253 阅读 · 0 评论 -
Leetcode_70_climbingStairs_爬楼梯
题目描述:有 N 阶楼梯,每次可以上一阶或者两阶,求有多少种上楼梯的方法。解题与代码:package DP;/** * 爬楼梯 */public class _70_climbingStairs { public static int climbStairs(int n){ int[] dp = new int[n+1]; dp[0] = 1...原创 2019-09-27 17:24:52 · 173 阅读 · 0 评论 -
Leetcode_213_HouseRober2_打家劫舍
package DP;import java.util.Arrays;public class _213_HouseRober2 { /** * 动态规划,和第198道一样。 * @param nums * @return */ private static int myRob(int[] nums){ int n =...原创 2019-09-28 11:25:58 · 130 阅读 · 0 评论 -
Leetcode_64_minPathSum_矩阵的最小路径和
package DP;public class _64_minPathSum { // 1. 递归-dfs private int helper(int[][] grid, int i, int j){ if (i == grid.length - 1 && j == grid[0].length -1){ return ...原创 2019-09-28 16:22:17 · 179 阅读 · 0 评论 -
Leetcode_62_uniquePaths_矩阵的总路径数
package DP;public class _62_uniquePaths { //1. dp public int uniquePaths(int m, int n){ int[][] dp = new int[m][n]; for (int i = 0; i < m; i++){ dp[i][0] = 1;...原创 2019-09-28 17:11:51 · 185 阅读 · 0 评论 -
理解动态规划
1. 理解动态规划1.1 递推!(递归+记忆化)1.2 状态的定义:opt[n], dp[n], fib[n]1.3 状态转移方程:opt[n] = best_of(opt[n-1], opt[n-2], …)1.4 最优子结构2. 动态规划例子2.1 斐波那契数列2.2 count the paths(计算路径数)2.2.1 递归解法解释:小人只能向右走,或者向下走。int ...原创 2019-09-28 17:15:56 · 150 阅读 · 0 评论 -
Leetcode_413_ArithmeticSlices_数组中等差递增子区间的个数
package DP;/** * 数组中等差递增子区间的个数 * exm: * A = [0, 1, 2, 3, 4] * * return: 6, for 3 arithmetic slices in A: * * [0, 1, 2], * [1, 2, 3], * [0, 1, 2, 3], * [0, 1, 2, 3, 4], * [ 1, 2, 3, 4], *...原创 2019-09-29 10:59:21 · 203 阅读 · 0 评论 -
Leetcode_343_IntegerBreak_分割整数的最大乘积
package DP;import java.util.List;public class _343_IntegerBreak { // 1. 递归暴力解法 // F(n) = max{i * F(n-i)}, i = 1,2,3,4,5...n-1 public int helper1(int n) { if (n == 2){ ...原创 2019-09-29 16:24:30 · 198 阅读 · 0 评论 -
Leetcode_279_PerfectSquares_按平方数来分割整数
package DP;public class _279_PerfectSquares { /** * 1.递归+dfs * 13 * /1 |4 \9 * 12 9 4 * /1 |4 \9 /1 \4 * 11 8...原创 2019-09-29 17:16:41 · 217 阅读 · 0 评论