import java.util.*; public class Solution { //如果0位置偷,在2-n-2的区域内与打家劫舍1相同 =》nums[0] ,rob1(2,n-2) //如果0位置不偷,就是1-n-1位置进行打家劫舍1. => //rob1(1,n-1); // f[i] 表示偷的最大金额,g[i] 表示不偷的最大金额 public int rob (int[] nums) { int n = nums.length; return Math.max(nums[0] + rob1(nums,2,n-2),rob1(nums,1,n-1)); } //与打家劫舍1逻...