力扣动态规划-31【算法学习day.125】

前言

###我做这类文章一个重要的目的还是记录自己的学习过程,我的解析也不会做的非常详细,只会提供思路和一些关键点,力扣上的大佬们的题解质量是非常非常高滴!!!


习题

1.零钱兑换II

题目链接: 518. 零钱兑换 II - 力扣(LeetCode)

题面:

代码:

java 复制代码
class Solution {
    private int[] coins;
    private int[][] memo;
    public int change(int amount, int[] coins) {
         this.coins = coins;
        int n = coins.length;
        memo = new int[n][amount + 1];
        for (int[] row : memo) {
            Arrays.fill(row, -1);
        }
        int ans = dfs(n - 1, amount);
        return ans;
    }
     private int dfs(int i, int c) {
        if (i < 0) {
            return c == 0 ? 1 : 0;
        }
        if (memo[i][c] != -1) { 
            return memo[i][c];
        }
        if (c < coins[i]) {
            return memo[i][c] = dfs(i - 1, c);
        }
        return memo[i][c] = dfs(i - 1, c)+dfs(i, c - coins[i]);
    }
}

后言

上面是动态规划相关的习题,共勉

相关推荐
s_yellowfish几秒前
Maven笔记
java·笔记·maven
清霜之辰18 分钟前
详解 kotlin 相对 Java 特有的关键字及使用
android·java·kotlin
江沉晚呤时21 分钟前
深入解析策略模式在C#中的应用与实现
java·服务器·开发语言·前端·.netcore
zhglhy21 分钟前
随机森林与决策树
算法·决策树·随机森林
Hamm23 分钟前
如何在TypeScript里使用类封装枚举来实现Java的枚举形参倒置
java·前端·typescript
mikey棒棒棒40 分钟前
使用RabbitMQ实现异步秒杀
java·分布式·rabbitmq·mq
无情的搬砖机器41 分钟前
idea 打不开terminal
java·ide·intellij-idea
avi911143 分钟前
问问lua怎么写DeepSeek,,,,,
java·junit·lua·deepseek
BFT白芙堂1 小时前
Franka 机器人x Dexterity Gen引领遥操作精细任务新时代
人工智能·算法·机器学习·具身智能·franka机器人·科研机器人·机器人解决方案
LuckyLay1 小时前
LeetCode算法题(Go语言实现)_38
算法·leetcode·golang