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/

相关推荐
漫随流水5 分钟前
leetcode回溯算法(46.全排列)
数据结构·算法·leetcode·回溯算法
We་ct8 分钟前
LeetCode 68. 文本左右对齐:贪心算法的两种实现与深度解析
前端·算法·leetcode·typescript
努力学算法的蒟蒻11 分钟前
day67(1.26)——leetcode面试经典150
算法·leetcode·面试
iAkuya13 分钟前
(leetcode) 力扣100 52腐烂的橘子(BFS)
算法·leetcode·宽度优先
老鼠只爱大米17 分钟前
LeetCode经典算法面试题 #148:排序链表(插入、归并、快速等五种实现方案解析)
算法·leetcode·链表·插入排序·归并排序·快速排序·链表排序
木井巳30 分钟前
【递归算法】计算布尔二叉树的值
java·算法·leetcode·深度优先
睡一觉就好了。1 小时前
直接选择排序
数据结构·算法·排序算法
哈哈不让取名字1 小时前
分布式日志系统实现
开发语言·c++·算法
芬加达1 小时前
leetcode221 最大正方形
java·数据结构·算法