力扣动态规划-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]);
    }
}

后言

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

相关推荐
乌萨奇也要立志学C++8 分钟前
【洛谷】队列相关经典算法题详解:模板队列、机器翻译、海港
算法
YuTaoShao30 分钟前
【LeetCode 热题 100】49. 字母异位词分组
算法·leetcode·哈希算法
Volunteer Technology1 小时前
三高项目-缓存设计
java·spring·缓存·高并发·高可用·高数据量
栗子~~1 小时前
bat脚本- 将jar 包批量安装到 Maven 本地仓库
java·maven·jar
Mr.Entropy1 小时前
ecplise配置maven插件
java·maven
aliedudu2 小时前
决策树概念与原理
算法·决策树·机器学习
叙白冲冲2 小时前
tomcat 为啥能一直运行?不像方法那样结束?
java·tomcat
CoderYanger2 小时前
MySQL数据库——3.2.1 表的增删查改-查询部分(全列+指定列+去重)
java·开发语言·数据库·mysql·面试·职场和发展
迷知悟道2 小时前
java面向对象四大核心特征之抽象---超详细(保姆级)
java·后端
PEI043 小时前
MVCC(多版本并发控制)
java·开发语言·数据库