House Robber LeetCode solution in Java
1class Solution {2public int rob(int[] nums) {3int[] t = new int[nums.length];4for (int i = 0; i < t.length; i++) {5t[i] = -1;6}7return helper(nums, 0, t);8}910static int helper(int[] nums, int i, int[] t) {11if (i >= nums.length) {12return 0;13}14if (i == nums.length - 1) {15return nums[i];16}17if (t[i] != -1) {18return t[i];19}2021int pick = nums[i] + helper(nums, i + 2, t);22int unpicked = helper(nums, i + 1, t);23t[i] = Math.max(pick, unpicked);24return t[i];25}26}