Leetcode no. 213

来源:互联网 发布:wordpress 速度优化 编辑:程序博客网 时间:2024/05/21 17:39

213. House Robber II


Note: This is an extension of House Robber.

After robbing those houses on that street, the thief has found himself a new place for his thievery so that he will not get too much attention. This time, all houses at this place are arranged in a circle. That means the first house is the neighbor of the last one. Meanwhile, the security system for these houses remain the same as for those in the previous street.

Given a list of non-negative integers representing the amount of money of each house, determine the maximum amount of money you can rob tonight without alerting the police.

public class Solution {    public int rob(int[] nums) {        if (nums.length==0) return 0;        if (nums.length==1) return nums[0];        int[] money1= new int[nums.length];        int[] money2= new int[nums.length];        int bonus1=0, bonus2=0;        money1[0]= 0;        money1[1]= nums[1];        for (int i = 2; i < nums.length; i++) {            money1[i]= Math.max(nums[i]+money1[i-2], money1[i-1]);        }        bonus1= money1[nums.length-1];        money2[0]= nums[0];        money2[1]= nums[0];        for (int i = 2; i < nums.length-1; i++) {            money2[i]= Math.max(nums[i]+money2[i-2], money2[i-1]);        }        bonus2= money2[nums.length-2];        return Math.max(bonus1, bonus2);    }}


 

0 0
原创粉丝点击