1. 题意
给你一个由 不同 整数组成的数组 nums ,和一个目标整数 target 。
请你从 nums 中找出并返回总和为 target 的元素组合的个数
2. 题解
与爬楼梯相似,
只是一次可以爬的阶梯数变多了,爬楼梯一次只能 c l i b = [ 1 , 2 ] clib=[1,2] clib=[1,2]
class Solution {
public:int combinationSum4(vector<int>& nums, int target) {vector<unsigned> dp(target + 1, 0);dp[0] = 1;for (int i = 1; i <= target; ++i) {for (int num: nums) {if (i >= num) {dp[i] += dp[i - num];}}}return dp[target];}
};