动态规划入门级教程(leetcode) 198.House Robber
来源:互联网 发布:软件开发投标文件 编辑:程序博客网 时间:2024/05/29 05:01
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.
Credits:
Special thanks to @ifanchu for adding this problem and creating all test cases. Also thanks to @ts for adding additional test cases.
不知道以前写过没有这次放在专题里分析
举个例子【7,1,2,4,9】
dp[0]=7
dp[1]=7,这里我们会认为是dp[i]=max(dp[i-1].nums[i]}这个时候还是不正确的我们分析下一个
dp[2]=9(7+2)所以推出dp[i]=max(dp[i-1],nume[i]+dp[i-1])这个时候还是不正确的我们要结合题目意思写再分析下一个
dp[3]=13(7+4)dp[i]=max(dp[i-1],numi[i]+dp[i-1])
dp[4]=7+2+9dp[i]=max(dp[i-1],numi[i]+dp[i-2])这里是正确的原因是我们不能连续抢
class Solution {public: int rob(vector<int>& nums) { if(nums.size()==0) { return NULL; } if(nums.size()==1) { return nums[0]; } if(nums.size()==2) { return max(nums[0],nums[1]); } int dp[nums.size()]; for(int i=0;i<nums.size();i++) { dp[i]=0; } dp[0]=nums[0]; for(int i=1;i<nums.size();i++) { if(i==1)dp[1]=max(dp[0],nums[1]); else { dp[i]=max(dp[i-1],dp[i-2]+nums[i]); } } return dp[nums.size()-1]; }};
- 动态规划入门级教程(leetcode) 198.House Robber
- LeetCode 198. House Robber 213. House Robber II--动态规划
- leetcode 198.House Robber-打家劫舍|动态规划
- 【Leetcode】198. House Robber - - 【动态规划】
- 198.leetcode House Robber(easy)[动态规划]
- 198. House Robber-leetcode+动态规划
- (动态规划)LeetCode#198. House Robber
- leetcode 198. House Robber | 动态规划
- LeetCode 198. House Robber (动态规划)
- [LeetCode 198] House Robber(动态规划)
- Leetcode House Robber 动态规划
- [LeetCode][动态规划]House Robber
- 198. House Robber-动态规划
- LeetCode动态规划198. House Robber思路解析
- LeetCode 198. House Robber 递归->记忆->动态规划 ->新思路
- leetcode 198. House Robber 入室抢劫 + DP动态规划求解
- leetcode 198House Robber(简单动态规划解法)
- LeetCode之DP(动态规划)之House Robber
- Android底部凸出导航,Fragment互相嵌套
- PDF编辑技巧1:添加页码和编辑文字
- TextWatcher编辑框监听器
- 基于Eclipse搭建hadoop开发环境
- Python中单引号,双引号,3个单引号及3个双引号的区别
- 动态规划入门级教程(leetcode) 198.House Robber
- JAVA邮件发送(文字+图片+附件)【源码】
- 公务员面试之综合分析真题解析
- git中可以加入忽略文件权限的配置
- It面试问题
- css中的盒子模型及其浮动
- PAT乙级 1025. 反转链表 (25)--结构体、容器vector、容器pair
- linux下安装svn
- linux学习之路——ubuntu 16.04 开机开启数字小键盘解决方法