动态规划
程序媛格格酱
这个作者很懒,什么都没留下…
展开
-
leetcode213强盗抢劫2
与第一次抢劫的题不一致的原因是这道题是环形抢劫 抢第一个就不能抢最后一个 动态转移方程没有改变 class Solution { public int rob(int[] nums) { if(nums==null||nums.length==0) return 0; if(nums.length==1) return 1; int n=nums.length; //第一个到倒数第二个截止 第二个到最后一个截止 re原创 2021-04-14 09:48:35 · 165 阅读 · 0 评论 -
leetcode198强盗抢劫
题目: 思路: 由于不能抢劫邻近住户,如果抢劫了第 i -1 个住户,那么就不能再抢劫第 i 个住户,动态方程为: 代码: class Solution { public int rob(int[] nums) { int pre1=0,pre2=0; for(int i=0;i<nums.length;i++){ //动态方程 int cur=Math.max(pre2+nums[i],pre1);原创 2021-04-13 10:19:32 · 169 阅读 · 0 评论 -
leetcode70 爬楼梯
题目: ** 思路: 本问题其实常规解法可以分成多个子问题,爬第n阶楼梯的方法数量,等于 2 部分之和 爬上 n-1阶楼梯的方法数量。因为再爬1阶就能到第n阶 爬上 n-2阶楼梯的方法数量,因为再爬2阶就能到第n阶 代码: class Solution { public int climbStairs(int n) { //时间复杂度O(n) int[] dp=new int[n+1]; dp[0]=1; dp[1]=1;原创 2021-04-13 10:15:57 · 62 阅读 · 0 评论