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/

相关推荐
星释20 小时前
Rust 练习册 :Pythagorean Triplet与数学算法
开发语言·算法·rust
星释20 小时前
Rust 练习册 :Nth Prime与素数算法
开发语言·算法·rust
多喝开水少熬夜20 小时前
Trie树相关算法题java实现
java·开发语言·算法
WBluuue21 小时前
数据结构与算法:树上倍增与LCA
数据结构·c++·算法
bruk_spp21 小时前
牛客网华为在线编程题
算法
Tony Bai21 小时前
【Go模块构建与依赖管理】09 企业级实践:私有仓库与私有 Proxy
开发语言·后端·golang
Lucky小小吴21 小时前
开源项目5——Go版本快速管理工具
开发语言·golang·开源
进化中的码农1 天前
Go中的泛型编程和reflect(反射)
开发语言·笔记·golang
黑屋里的马1 天前
java的设计模式之桥接模式(Bridge)
java·算法·桥接模式
sin_hielo1 天前
leetcode 1611
算法·leetcode