213. House Robber II 打家劫舍 IIJava
阿新 • • 發佈:2019-05-15
i++ 網址 obb ems tps ava turn bubuko use
網址: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