# Leetcode 213 Home Robber II.

**Leetcode 213 Home 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.

Here, is a transform of Home Robber, Which has a very clear and simple solution.

Compare to Home Robber, we need another array to do calculation of the summation starts from the first number and the second number.

```
public class Solution {
public int rob(int[] nums) {
if(nums.length==0){
return 0;
}
if(nums.length==1){
return nums[0];
}
int homenum=nums.length;
int[] totalamount=new int[homenum+1];
int[] totalamount2=new int[homenum+1];
totalamount[0]=0;
totalamount[1]=nums[0];
totalamount2[0]=0;
totalamount2[1]=0;
for(int i=2;i < homenum+1;i++){
totalamount[i]=Math.max(nums[i-1]+totalamount[i-2],totalamount[i-1]);
totalamount2[i]=Math.max(nums[i-1]+totalamount2[i-2],totalamount2[i-1]);
}
return Math.max(totalamount[homenum-1],totalamount2[homenum]);
}
}
```