leetcode 198. House Robber

转载 2016年05月30日 17:55:50

原文链接:http://bluereader.org/article/125400253

题目

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.

public class Solution {
    //解题思路:
//对于第i个房间我们的选择是偷和不偷, 如果决定是偷 则第i-1个房间必须不偷 那么 这一步的就是 dp[i] = nums(i-1) + dpNotTake[i -1] , 假设dp[i]表示打劫到第i间房屋时累计取得的金钱最大值.
//如果是不偷, 那么上一步就无所谓是不是已经偷过, dp[i] = dp[i -1 ], 因此 dp[i] =max(dpNotTake[i-1 ] + nums(i-1), dp[i-1] );  其中dpNotTake[i-1]=dp[i-2]
//利用动态规划,状态转移方程:dp[i] = max(dp[i - 1], dp[i - 2] + num[i - 1])
//其中,dp[i]表示打劫到第i间房屋时累计取得的金钱最大值。
      public int rob(int[] nums) {
          int n = nums.length;
          if (n == 0) return 0;
          int[] dp = new int[n + 1];
          dp[0] = 0;
          dp[1] = nums[0];
          for (int i = 2; i < n + 1; ++i){
               dp[i] = Math.max(dp[i - 1], dp[i - 2] + nums[i - 1]);
          }
          return dp[n]; 
    }
}

<LeetCode OJ> (198 / 213) House Robber(I / II)

House Robber My Submissions Question Total Accepted: 45702 Total Submissions: 142460 Difficulty:...

LeetCode 198 House Robber

假设是一个小偷(这比喻,,,),在这条街上有一排房子,每一个房子都有一个确定的价值,相邻的房子不能连续偷窃,问,偷了这条街后,最大偷窃的价值总和是多少? 利用DP思想,对于从第4个房子开始,有两种选择...

leetcode 198: House Robber

问题描述:You are a professional robber planning to rob houses along a street. Each house has a certain a...

leetcode - 198,213. House Robber(II) & 91. Decode Ways

算法系列博客之Dynamic Programming 本篇博客将运用动态规划的思想来解决leetcode上198和213号问题 问题描述:198 House RobberYou are a pr...
  • Quiteen
  • Quiteen
  • 2017年06月11日 15:09
  • 112

leetcode198 House Robber

You are a professional robber planning to rob houses along a street. Each house has a certain amount...

198. House Robber-leetcode+动态规划

来自Leecode上的一道easy题目《房屋盗贼》,题目可简述为:你是一个职业的盗贼,去偷沿街的一溜房子,每个房子都有一定数目的珠宝。唯一的限制就是不能偷窃相邻的两个房屋,这样会触发报警系统,然后求最...
  • czl389
  • czl389
  • 2016年12月14日 15:28
  • 478

leetCode198-House Robber

链接:https://leetcode.com/problems/house-robber/ 这道理可以看做是状态压缩,每两个数字看做是一行,状态有3个,故需要F[N][3]的数组,F[i][j]就表...

[Leetcode刷题总结系列][Dynamic programming]198. House Robber

Leetcode 198. House Robber You are a professional robber who is planing to rob houses along a street...

Leetcode NO.198 House Robber

本题题目要求如下: You are a professional robber planning to rob houses along a street. Each house has a...

LeetCode 198. House Robber

You are a professional robber planning to rob houses along a street. Each house has a certain amount...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:leetcode 198. House Robber
举报原因:
原因补充:

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