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

后言

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

相关推荐
Tisfy11 分钟前
LeetCode 2685.统计完全连通分量的数量:DFS求每个连通块的边点数
算法·leetcode·深度优先··题解·连通图·全连通分量
海石21 分钟前
1次遍历,空间复杂度击败100%,时间复杂度击败85%
算法·leetcode
沫离痕30 分钟前
Cassandra 4.0.11 Docker 安装与配置手册
java·spring boot
plainGeekDev36 分钟前
libs 目录 → Gradle 依赖管理
android·java·kotlin
CodeStride43 分钟前
就像长跑配速一样,我是如何平衡代码性能与可读性的
java
弹简特1 小时前
【Java项目-企悦抽】07-用户与认证模块-实现用户注册01
java·开发语言
L歪歪君1 小时前
Apache Doris全链路性能优化实战指南:从架构设计到生产落地
java·开发语言·算法
m0_466525291 小时前
从“算法内卷”到“可信易用” 东软多模态医学人工智能平台开启无代码科研新时代
人工智能·算法
山东点狮信息科技有限公司1 小时前
SpringBoot+VUE3,一套系统完成OA+HRM+CRM+MES+合同+项目管理 —— 深度解析点狮全业务管理平台
java·spring boot·后端
码少女1 小时前
数据结构——冒泡排序及优化
数据结构·算法·排序算法