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

文章目录

题目描述

题解思路

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

而总和target - nums[j]的元素组合个数 可以由 总和为target - nums[j] - nums[k]的元素组合个数 转换而来,其中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/

相关推荐
颜酱10 分钟前
从经典问题入手,吃透动态规划核心(DP五部曲实战)
前端·javascript·算法
翔云12345622 分钟前
做事情的正确方式
程序人生·职场和发展·学习方法
WBluuue25 分钟前
AtCoder Beginner Contest 438(ABCDEF)
c++·算法
天才测试猿25 分钟前
Selenium测试框架快速搭建详解
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
Murphy_3129 分钟前
从根上了解一下复指数
算法
Run_Teenage29 分钟前
Linux:理解IO,重定向
linux·运维·算法
你撅嘴真丑39 分钟前
素数对 与 不吉利日期
算法
多米Domi01141 分钟前
0x3f 第20天 三更24-32 hot100子串
java·python·算法·leetcode·动态规划
wzfj123451 小时前
Opaque Pointer / Incomplete Type
c++·算法·c
冰西瓜6001 小时前
贪心(四)——拟阵 算法设计与分析 国科大
算法·贪心算法