public class LeetCode_213_28 { public int rob(int[] nums) { Integer[] arr1=new Integer[nums.length]; Integer[] arr2=new Integer[nums.length]; return nums.length==0 ? 0 : Math.max(dp1(nums,arr1,nums.length-1),dp2(nums,arr2,nums.length-1)); } public int dp1(int[] nums,Integer[] arr,int i){ if(arr[i] == null){ if (i==0){ arr[i] = nums[0]; }else if(i==1){ arr[i] = nums[0]; }else if(i