zoukankan      html  css  js  c++  java
  • 198. House Robber

    我的心好痛,有点可怜自己了,骗子啊。。好伤心。。。。为什么要骗我。

    你说,霞染天光,陌上花开与谁享;后来,烟笼柳暗,湖心水动影无双。

    dp[i] = Math.max(dp[i-1], dp[i-2] + nums[i]);

    public class Solution {
        public int rob(int[] nums) {
            if (nums.length == 0) return 0;
            if (nums.length == 1) return nums[0];
            
            int res = 0;
            int prev = nums[0];
            int temp = nums[1];
            for (int i = 2; i < nums.length; i++) {
                int rec = temp;
                temp = Math.max(prev + nums[i], temp);
                prev = rec;
            }
            return temp;
        }
    }
    


    三刷了吧。。。感觉这个题研究好多次了。

    一个神奇的思路是。
    dp[i % 2]表示今天。
    dp[(i-1) % 2]昨天。
    dp[(i-2) % 2]前天。。

    public class Solution {
        public int rob(int[] nums) {
            if (nums.length == 0) return 0;
            if (nums.length == 1) return nums[0];
            if (nums.length == 2) return Math.max(nums[0], nums[1]);
            
            int[] dp = new int[2];
            
            for (int i = 2; i < nums.length; i++) {
                int current = dp[(i-2)%2] + nums[i];
                int yesterday = dp[(i-1)%2];
                dp[i%2] = Math.max(current, yesterday);
            }
            return dp[(dp.length-1) % 2];
        }
    }
    
  • 相关阅读:
    最近有点不顺心
    存储过程传入datatable
    mvc下添加 EntityFramework的引用
    vmstat,iostat,sar命令详解
    oracle job interval·相关事例
    dbms_job和dbmsi_job
    数据库hang住 处理过程
    Library cache lock 故障解决一例
    dbms_job涉及到的知识点
    V$SESSION_LONGOPS
  • 原文地址:https://www.cnblogs.com/reboot329/p/6127897.html
Copyright © 2011-2022 走看看