Arrays.fill(dp, -1)只能初始化一维数组,使用两步走的方法:
public int[][] memo;
public int rob(int[] nums) {
memo = new int[nums.length + 2][40000];
int[] ten = new int[40000];
Arrays.fill(ten, -1);
Arrays.fill(memo,ten);
return dfs(nums, 0, 0);
}
即可完成二维数组的初始化。小技巧注意一下。