力扣 中等 377.组合总和

文章目录

题目介绍



题解

本质是爬楼梯,相当于每次往上爬 nums[i]步

本题和爬楼梯是一个思路,只不过我们每次从 nums 中选一个数,作为往上爬的台阶数,问爬 target 个台阶有多少种方案。爬楼梯那题可以看作 nums=[1,2],因为每次只能爬 1 个或 2 个台阶。

代码如下:

java 复制代码
class Solution {
    public int combinationSum4(int[] nums, int target) {
        int[] dp = new int[target + 1];
        dp[0] = 1;  // 参考爬楼梯
        for (int i = 1; i <= target; i++) {
            for (int x : nums) {
                if (x <= i) {
                    dp[i] += dp[i - x];
                }
            }
        }
        return dp[target];
    }
}
相关推荐
laocui138 分钟前
Σ∆ 数字滤波
人工智能·算法
yzx9910131 小时前
Linux 系统中的算法技巧与性能优化
linux·算法·性能优化
全栈凯哥1 小时前
Java详解LeetCode 热题 100(26):LeetCode 142. 环形链表 II(Linked List Cycle II)详解
java·算法·leetcode·链表
全栈凯哥1 小时前
Java详解LeetCode 热题 100(27):LeetCode 21. 合并两个有序链表(Merge Two Sorted Lists)详解
java·算法·leetcode·链表
SuperCandyXu2 小时前
leetcode2368. 受限条件下可到达节点的数目-medium
数据结构·c++·算法·leetcode
Humbunklung2 小时前
机器学习算法分类
算法·机器学习·分类
Ai多利2 小时前
深度学习登上Nature子刊!特征选择创新思路
人工智能·算法·计算机视觉·多模态·特征选择
蒟蒻小袁3 小时前
力扣面试150题--被围绕的区域
leetcode·面试·深度优先
Q8137574603 小时前
中阳视角下的资产配置趋势分析与算法支持
算法
yvestine3 小时前
自然语言处理——文本表示
人工智能·python·算法·自然语言处理·文本表示