力扣 中等 377.组合总和

文章目录

题目介绍



题解

本质是爬楼梯,相当于每次往上爬 numsi

本题和爬楼梯是一个思路,只不过我们每次从 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];
    }
}
相关推荐
程序员二叉15 小时前
【JUC】ThreadLocal底层原理|内存泄漏|弱引用|跨线程传递方案
java·开发语言·面试·职场和发展·juc
程序员二叉15 小时前
【JUC】线程池全套深度详解|参数|流程|拒绝策略|调优|异常处理
java·开发语言·jvm·算法·面试·juc
青山木16 小时前
Hot 100 --- 轮转数组
java·数据结构·算法
徐小夕16 小时前
Loop Engineering 深度解析与实战指南(全网最全)
前端·算法·github
北域码匠17 小时前
SHA-1算法:安全哈希原理与应用解析
算法·c#·哈希算法
手写码匠18 小时前
手写 GraphRAG:从零实现图增强检索增强生成系统
人工智能·深度学习·算法·aigc
BomanGe118 小时前
NSK重载高刚性滚珠丝杠技术详解
经验分享·算法·规格说明书
Matrix_1119 小时前
手机里的计算摄影:广角形变校正算法
人工智能·算法·智能手机·计算摄影
WBluuue19 小时前
数据结构与算法:有序表(二):跳表
数据结构·c++·算法·skiplist
IT龟苓膏19 小时前
并发深度解析】硬核手撕 ForkJoinPool + WorkStealing + CompletableFuture 底层源码与大厂面试演练
面试·职场和发展