leetcode 377 组合之和4

Posted hiyashinsu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode 377 组合之和4相关的知识,希望对你有一定的参考价值。

题目:

本质上就是dp里的找零或者解方程问题。

 

思路:

dp。

 

代码:

 1 class Solution {
 2     public int combinationSum4(int[] nums, int target) {
 3         int n = nums.length;
 4         if (n == 0) {
 5             return 0;
 6         }
 7         
 8         int[] opt = new int[target + 1];
 9         opt[0] = 1;
10         for (int i = 1; i <= target; i++) {
11             opt[i] = 0;
12             for (int j = 0; j < n; j++) {
13                 if (i >= nums[j]) {
14                     opt[i] += opt[i - nums[j]];
15                 }
16             }
17         }
18         
19         return opt[target];
20     }
21 }

 

注意事项:

1.初始化,opt[0] = 1;

2.避免数组越界。由于i - nums[j]作为下标,所以需要判断。

以上是关于leetcode 377 组合之和4的主要内容,如果未能解决你的问题,请参考以下文章

leetcode 377. 组合总和 Ⅳ----动态规划之双重for循环变式----求排列数

377. 组合总和 Ⅳ(背包dp)

377. 组合总和 Ⅳ

LeetCode 0377. 组合总和 Ⅳ

LeetCode刷题系列之-多数之和类型

LeetCode刷题系列之-多数之和类型