[LeetCode] House Robber
来源:互联网 发布:虎扑推荐淘宝匡威店铺 编辑:程序博客网 时间:2024/05/20 21:59
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.
解题思路
动态规划
状态转移方程:f[i] =max(f[i-1], f[i-2]+c[i])
f[i]表示进入第i+1个房间时所得到的最大财富。
为了节省空间,只是用三个变量prepre, pre, cur即可。
实现代码1
//Runtime:2msclass Solution {public: int rob(vector<int>& nums) { int len = nums.size(); if (len == 0) return 0; if (len == 1) return nums[0]; if (len == 2) return max(nums[0], nums[1]); int prepre = nums[0]; int pre = max(nums[0], nums[1]); int cur; for (int i = 2; i < len; i++) { cur = max(pre, prepre + nums[i]); prepre = pre; pre = cur; } return cur; }};
实现代码2
# Runtime:76msclass Solution: # @param {integer[]} nums # @return {integer} def rob(self, nums): size = len(nums) if size == 0: return 0 elif size == 1: return nums[0] elif size == 2: return max(nums[0], nums[1]) prepre = nums[0] pre = max(nums[0], nums[1]) for i in range(2, size): cur = max(pre, prepre + nums[i]) prepre = pre pre = cur return cur
1 0
- 【dp】Leetcode House Robber&& House Robber II
- 【leetcode】House Robber && House Robber II
- LeetCode --- House Robber & House Robber II
- LeetCode OJ House Robber
- Leetcode: House Robber
- Leetcode 198: House Robber
- House Robber - LeetCode
- LeetCode 之 House Robber
- leetcode--House Robber
- [leetcode]47 House Robber
- [LeetCode] House Robber
- LeetCode :House Robber
- [leetcode] House Robber
- [leetcode]House Robber
- [LeetCode]198.House Robber
- LeetCode House Robber题解
- leetcode:House Robber
- [LeetCode]House Robber
- (三十二)虚拟机linux系统中安装firefox浏览器
- 汇编-条件跳转与重复指令
- Android—startActivityForResult的使用
- class-dump工具的使用
- cocos2dx学习链接1
- [LeetCode] House Robber
- 学习笔记3-成员变量和局部变量,静态变量的区别、多态
- SQL标准数据类型
- 用Mathematica从GIF文件中导入每帧的DisplayDurations
- MongoDB开发学习(2)--文档操作、查询和游标
- ggplot2 3.0 分面、一页多图
- 最大回文子序列数
- 判断sqlite是否包含某个字段
- 开始打破常规