您的位置:首页 > 其它

[LeetCode]House Robber

2015-11-27 04:19 330 查看
挺有意思的动态规划题目,只和i-2和i-3家的状态有关,取其中最大值

public class Solution {
public int rob(int[] nums) {
int length = nums.length;
if (length == 0) {
return 0;
} else if (length == 1) {
return nums[0];
}
int[] record = new int[length];
int result = 0;
record[0] = nums[0];
record[1] = nums[1];
result = Math.max(record[0], record[1]);
for (int i = 2; i < length; i++) {
int tmp1 = record[i - 2];
int tmp2 = i > 2 ? record[i - 3] : 0;
record[i] = nums[i] + Math.max(tmp1, tmp2);
result = Math.max(result, record[i]);
}
return result;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: