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

后言

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

相关推荐
艾莉丝努力练剑10 分钟前
【洛谷刷题】用C语言和C++做一些入门题,练习洛谷IDE模式:分支机构(一)
c语言·开发语言·数据结构·c++·学习·算法
CHEN5_0224 分钟前
【Java基础面试题】Java基础概念
java·开发语言
二十雨辰1 小时前
[TG开发]照片机器人
java·web3
闪电麦坤951 小时前
数据结构:迭代方法(Iteration)实现树的遍历
数据结构·二叉树·
武昌库里写JAVA1 小时前
JAVA面试汇总(四)JVM(一)
java·vue.js·spring boot·sql·学习
C++、Java和Python的菜鸟2 小时前
第六章 统计初步
算法·机器学习·概率论
Cx330❀2 小时前
【数据结构初阶】--排序(五):计数排序,排序算法复杂度对比和稳定性分析
c语言·数据结构·经验分享·笔记·算法·排序算法
散1122 小时前
01数据结构-Prim算法
数据结构·算法·图论
起个昵称吧2 小时前
线程相关编程、线程间通信、互斥锁
linux·算法
落霞的思绪2 小时前
Java设计模式详细解读
java·开发语言·设计模式