*LeetCode-House Robber II
来源:互联网 发布:将神 鬼神吕布数据 编辑:程序博客网 时间:2024/06/08 19:31
house robber 1是dp 要记得怎么做!
第二个变成了circle 需要考虑首尾相接
可以选一个房子让他不被rob 然后就break成一个直线 就能用1的方法算出一个max
然后让他旁边的房子不被rob 算出另一个max 两个比较就好了
public class Solution { public int rob(int[] nums) { if ( nums.length == 1) return nums [ 0 ]; int prevNo = 0; int prevYes = 0; for ( int i = 0; i < nums.length - 1; i ++ ){ int temp = prevNo; prevNo = Math.max ( prevYes, prevNo ); prevYes = temp + nums [ i ]; } int max1 = Math.max ( prevNo, prevYes ); prevNo = 0; prevYes = 0; for ( int i = 1; i < nums.length; i ++ ){ int temp = prevNo; prevNo = Math.max ( prevYes, prevNo ); prevYes = temp + nums [ i ]; } int max2 = Math.max ( prevNo, prevYes ); return Math.max ( max1, max2 ); }}
看起来比较精简的方法是把题1写成一个可以传head tail范围的 然后调用两次
0 0
- LeetCode House Robber II
- [LeetCode] House Robber II
- [leetcode] House Robber II
- 【leetcode】House Robber II
- Leetcode: House Robber II
- leetcode House Robber II
- [leetcode] House Robber II
- [LeetCode]House Robber II
- leetcode--House Robber II
- leetcode House Robber II
- LeetCode House Robber II
- leetcode:House Robber II
- Leetcode: House Robber II
- House Robber II -- leetcode
- leetCode House Robber II
- [Leetcode]House Robber II
- Leetcode: House Robber II
- LeetCode House Robber II
- wireshark 抓包分析 TCPIP协议的握手
- Wireshark学习笔记——如何快速抓取HTTP数据包
- *LeetCode-Number of Digit One
- Note:except和except for的区别
- 在线升级FlashPlayer和GoogleChrome的bash脚本
- *LeetCode-House Robber II
- 2.5 Sum List
- Leetcode Container With Most Water
- 利用命令提示符转换硬盘模式
- MAC 配置 java 环境变量
- Android 实现调整屏幕亮度,以及自动适应
- c中文件的操作大全,可以了解向文件读取一个结构体
- 2.6 Palindrome
- 使用ANT打包Android应用