天天看点

377. 组合总和 Ⅳ(dp)

给你一个由 不同 整数组成的数组 <code>nums</code> ,和一个目标整数 <code>target</code> 。请你从 <code>nums</code> 中找出并返回总和为 <code>target</code> 的元素组合的个数。

题目数据保证答案符合 32 位整数范围。

示例 1:

示例 2:

提示:

<code>1 &lt;= nums.length &lt;= 200</code>

<code>1 &lt;= nums[i] &lt;= 1000</code>

<code>nums</code> 中的所有元素 互不相同

<code>1 &lt;= target &lt;= 1000</code>

进阶:如果给定的数组中含有负数会发生什么?问题会产生何种变化?如果允许负数出现,需要向题目中添加哪些限制条件?

本题与「完全背包求方案数」问题的差别在于:选择方案中的不同的物品顺序代表不同方案。

举个 ????,在「完全背包」问题中,凑成总价值为 6 的方案 [1,2,3] 算是 11 种方案,但在本题算是 3 * 2 * 1 = 63∗2∗1=6 种方案([1,2,3],[2,1,3],[3,1,2] ... )。

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