【算法四十四】322. 零钱兑换

322. 零钱兑换

动态规划

java 复制代码
class Solution {
    public int coinChange(int[] coins, int amount) {
        Arrays.sort(coins);
        //子问题:在前i个硬币中选择最少的个数满足amount
        //dp[amount] = Math.min(dp[amount],dp[amount-coins[i]])+1
        //自下而上
        int[] dp = new int[amount+1];
        //因为就算是金额为1,也凑不出amount+1
        Arrays.fill(dp,amount+1);
        //定初始值
        dp[0] = 0;

        for(int i = 0;i<coins.length;i++){
            int money = coins[i];
            for(int sum = money;sum<=amount;sum++){
                dp[sum] = Math.min(dp[sum],dp[sum-money]+1);
            }
        }
        return dp[amount]>amount ? -1:dp[amount];
    }
}

时间复杂度:O(N*S) N是coins数组长度,S是金额大小

空间复杂度:O(S)

相关推荐
not coder9 分钟前
一文讲通--从树到红黑树
数据结构·算法
octopus_c11 分钟前
C++ 入门
开发语言·c++·算法
ZhengEnCi25 分钟前
2026年10月30日AI早报:Gemini 4 Carbon登顶、DeepSeek融资1055亿、智元机器人上岗实测
人工智能·算法
强哥聊算力38 分钟前
《算力江湖·Intel帝国往事》第三集:安迪·格鲁夫的铁血时代:Intel为什么能把对手逼到墙角?
运维·人工智能·科技·算法·ai·gpu算力
Shaoshing1 小时前
LeetCode100 11. 盛最多水的容器
算法·leetcode
骑着蜗牛撵大象3271 小时前
558 万美元训出 671B 模型:DeepSeek-V3 算法与系统的协同拆解
分布式·算法·moe·deepseek-v3·mla·fp8训练
Eyfcom1 小时前
〖阶段性回顾〗物流系统架构与算法的 Day 1-5 知识图谱与实战答疑
算法·系统架构·知识图谱·物流管理系统·快递管理系统
xunberg2 小时前
【Agent 生产化手记-02】Agent 怎么向人提问
人工智能·算法·架构
海绵宝宝转agent2 小时前
Leetcode二叉树算法个人理解
笔记·学习·算法·leetcode·深度优先
pjj198542 小时前
YOLO 目标检测算法系列梳理:从 V1 到 V5 的原理演进
算法·yolo·目标检测