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/

相关推荐
2401_879693874 分钟前
C++跨平台开发实战
开发语言·c++·算法
浅念-4 分钟前
Linux 基础命令与核心知识点
linux·数据结构·c++·经验分享·笔记·算法·ubuntu
旺仔.2915 分钟前
C++ String 详解
开发语言·c++·算法
2301_816651229 分钟前
模板代码跨平台适配
开发语言·c++·算法
m0_7434703711 分钟前
C++代码静态检测
开发语言·c++·算法
m0_7380980211 分钟前
C++中的代理模式实战
开发语言·c++·算法
The_Ticker14 分钟前
日股实时行情接口使用指南
java·经验分享·笔记·python·算法·区块链
靠沿15 分钟前
【递归、搜索与回溯算法】专题一——递归
算法
AI_Ming15 分钟前
从0开始学AI:Embedding,原来是这回事!
算法·ai编程
凌波粒15 分钟前
LeetCode--24.两两交换链表中的节点(链表)
java·算法·leetcode·链表