1. 程式人生 > >213. House Robber II 打家劫舍 IIJava

213. House Robber II 打家劫舍 IIJava

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