网址:https://leetcode.com/problems/house-robber-ii/
因为房子是环形排列的,所以第一个房子和最后一个房子是相邻关系。
于是我们就在House Robber的基础上稍加修改即可:
选择两者中较大者即是答案!
class Solution { public int rob(int[] nums) { if(nums.length == 1) return nums[0]; return Math.max(rob(nums, 0, nums.length-1), rob(nums, 1, nums.length)); } public int rob(int[] nums, int begin, int end) { int pre1 = 0; int pre2 = 0; int temp = 0; for(int i=begin; i<end; i++) { temp = Math.max(nums[i] + pre2, pre1); pre2 = pre1; pre1 = temp; } return temp; } }
213. House Robber II 打家劫舍 IIJava
原文:https://www.cnblogs.com/tornado549/p/10869405.html