Day46.算法训练

518. 零钱兑换 II

java 复制代码
class Solution {
    public int change(int amount, int[] coins) {
        int dp[] = new int[amount + 1];
        dp[0] = 1;
        // 遍历物品
        for (int i = 0; i < coins.length; i++) {

            // 遍历背包 从小到大
            for (int j = coins[i]; j <= amount; j++) {
                dp[j] += dp[j - coins[i]];    
            }

        }
        return dp[amount];
    }
}

377. 组合总和 Ⅳ

java 复制代码
    class Solution {
        public int combinationSum4(int[] nums, int target) {

            int dp[] = new int[target + 1];
            dp[0] = 1;

            // 遍历背包 从小到大
            for (int j = 1; j <= target; j++) {

                // 遍历物品
                for (int i = 0; i < nums.length; i++) {
                    if (j >= nums[i]) {
                        dp[j] += dp[j - nums[i]];
                    }
                }

            }
            return dp[target];
        }
    }
相关推荐
颜酱1 天前
学习卡特兰数:从原理到应用,解决所有递推计数问题
前端·javascript·算法
漫随流水1 天前
leetcode算法(20.有效的括号)
数据结构·算法·leetcode
如果你想拥有什么先让自己配得上拥有1 天前
数、自然数、整数、有理数、无理数它们的定义由来和边界划分
算法
Xの哲學1 天前
Linux SLUB 内存分配器深度剖析: 从设计哲学到实战调试
linux·服务器·网络·算法·边缘计算
2401_876221341 天前
AtCoder Beginner Contest 439 - D - Kadomatsu Subsequence
c++·算法
小丁努力不焦虑1 天前
算法期末总结题
数据结构·算法
嵌入式进阶行者1 天前
【算法】从数组中选取两个符合一定条件的数的算法与实例:华为OD机考双机位A卷 - 跳房子I
数据结构·c++·算法·链表
老歌老听老掉牙1 天前
从战场到商场:最优化算法如何用数学重塑世界?
python·算法·最优化
im_AMBER1 天前
Leetcode 94 合并零之间的节点
数据结构·c++·笔记·学习·算法·leetcode
KingRumn1 天前
DBUS源码剖析之DBusMessage消息头
linux·服务器·算法