LeetCode讲解篇之377. 组合总和 Ⅳ

文章目录

题目描述

题解思路

总和为target的元素组合个数 可以由 总和为target - numsj的元素组合个数 转换而来,其中j为nums所有元素的下标

而总和target - numsj的元素组合个数 可以由 总和为target - numsj - numsk的元素组合个数 转换而来,其中k为nums所有元素的下标

依次类推,转换成我们已知的条件 总和为0的元素组合个数为1

这是一种从结果出发,不断转换到我们已知条件的一种操作,通过这题,希望大家能够有所感悟

题解代码

go 复制代码
func combinationSum4(nums []int, target int) int {
    f := make([]int, target + 1)
    f[0] = 1

    for i := 1; i <= target; i++ {
        for _, num := range nums {
            if i >= num {
                f[i] += f[i - num]
            }
        }
    }

    return f[target]
}

题目链接

https://leetcode.cn/problems/combination-sum-iv/description/

相关推荐
闻缺陷则喜何志丹33 分钟前
【C++特性】四种类型转
c++·算法·类型转换
喵本喵叁肆42 分钟前
用 Boosting 把弱隐私算法炼成强隐私算法(英文原题:Boosting and Differential Privacy (FOCS 2010))
算法·集成学习·boosting
青梅味猪大肠1 小时前
【操作系统-60】临近适应算法
java·linux·开发语言·嵌入式硬件·算法·操作系统
CoderYanger1 小时前
Java EE 进阶:8.MyBatis 操作数据库(入门)(第一弹)
java·数据库·spring·面试·职场和发展·java-ee·mybatis
利威尔xu4 小时前
2026-11-05-Go内存管理面试
面试·golang
其实防守也摸鱼16 小时前
个人学习 Pwn 思路:从基础到漏洞利用的进阶路径
大数据·前端·人工智能·chrome·算法·安全·网络安全
Nuanyt17 小时前
LeetCode Hot 100 链表专题(五)· 2 题(Java)
java·算法·leetcode·链表
w_zero_one20 小时前
递归算法(一)
java·开发语言·算法
圣保罗的大教堂20 小时前
leetcode 3736. 最小操作次数使数组元素相等 III 简单
leetcode