leetcode 198:House Robber

原创 2015年07月09日 01:24:41

题目:
You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed, the only constraint stopping you from robbing each of them is that adjacent houses have security system connected and it will automatically contact the police if two adjacent houses were broken into on the same night.

Given a list of non-negative integers representing the amount of money of each house, determine the maximum amount of money you can rob tonight without alerting the police.
分析:
考察动态规划,在一条街上有很多房屋,每个房屋中都存放一定的现金,但是相邻房屋都被小偷光顾的话会引发报警系统,怎样才能在不引起报警的情况下偷到最多的现金。动态规划最重要的就是定义状态和状态转移方程。在这里试着定义状态为:”对第i个房屋的行为后最大获得的现金”,记为d[i],行为在这里就是偷或不偷。则状态转移方程可以为:d[i]=max{d[i-2]+nums[i],d[i-1]}
代码:

public class HouseRobber {
    public int rob(int[] nums){
        int len=nums.length;
        int odd = 0,even=0;
        for(int i=0;i<len;i++){
            if(i%2==0){
                odd=Math.max(odd+nums[i], even);
            }else{
                even=Math.max(even+nums[i],odd);
            }
        }
        return Math.max(odd, even);
    }
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

【LeetCode-面试算法经典-Java实现】【198-House Robber(抢劫犯)】

【189-House Robber(抢劫犯)】【LeetCode-面试算法经典-Java实现】【所有题目目录索引】代码下载【https://github.com/Wang-Jun-Chao】原题  Y...
  • DERRANTCM
  • DERRANTCM
  • 2015年08月25日 06:41
  • 3587

LeetCode 198 House Robber(强盗盗窃最大值)(动态规划)(*)

翻译你是一个专业强盗,并计划沿街去盗窃每一个住户。每个房子都有一定量的现金,阻止你盗窃的唯一阻碍是相邻的两个房子之间有安全系统。一旦这两个房子同时被盗窃,系统就会自动联系警察。给定一系列非负整数代表每...
  • NoMasp
  • NoMasp
  • 2016年01月22日 11:09
  • 2265

LeetCode—House Robber 寻找数组不相邻组合最大值DP

https://leetcode.com/problems/house-robber/ 题目设计了一个抢劫犯的情景,其实就是求数组中不相邻数据进行组合得到的最大值 举一个例子 假设数据: 8 3...
  • xietingcandice
  • xietingcandice
  • 2015年04月12日 22:49
  • 1043

算法分析与设计——LeetCode:198. House Robber

题目 You are a professional robber planning to rob houses along a street. Each house has a certai...
  • sysu_CN
  • sysu_CN
  • 2018年01月03日 16:34
  • 32

每周LeetCode算法题(七): 题目: 198. House Robber

每周LeetCode算法题(七)题目: 198. House Robber You are a professional robber planning to rob houses along a...
  • JacKnights
  • JacKnights
  • 2017年10月19日 12:42
  • 77

LeetCode 198 House Robber(强盗盗窃最大值)(动态规划)(*)

翻译你是一个专业强盗,并计划沿街去盗窃每一个住户。每个房子都有一定量的现金,阻止你盗窃的唯一阻碍是相邻的两个房子之间有安全系统。一旦这两个房子同时被盗窃,系统就会自动联系警察。给定一系列非负整数代表每...
  • NoMasp
  • NoMasp
  • 2016年01月22日 11:09
  • 2265

House Robber - LeetCode 198

题目描述: You are a professional robber planning to rob houses along a street. Each house has a certain...
  • bu_min
  • bu_min
  • 2015年04月24日 22:07
  • 305

[LeetCode]--198. House Robber

You are a professional robber planning to rob houses along a street. Each house has a certain amount...
  • bug_moving
  • bug_moving
  • 2016年10月09日 10:53
  • 586

LeetCode198题:House Robber【java】

先看下题目: You are a professional robber planning to rob houses along a street. Each house has a cert...
  • sswmjoy
  • sswmjoy
  • 2015年04月15日 16:51
  • 441

LeetCode-198&213.House Robber

https://leetcode.com/problems/house-robber/ You are a professional robber planning to rob houses...
  • zmq570235977
  • zmq570235977
  • 2016年05月23日 16:16
  • 262
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:leetcode 198:House Robber
举报原因:
原因补充:

(最多只允许输入30个字)