Combination Sum IV LeetCode solution in Java
1class Solution {2public int combinationSum4(int[] nums, int target) {3Integer[] memo = new Integer[target + 1];4return recurse(nums, target, memo);5}67public int recurse(int[] nums, int remain, Integer[] memo) {89if (remain < 0) return 0;10if (memo[remain] != null) return memo[remain];11if (remain == 0) return 1;1213int ans = 0;14for (int i = 0; i < nums.length; i++) {15ans += recurse(nums, remain - nums[i], memo);16}1718memo[remain] = ans;19return memo[remain];20}21}