代码随想录算法训练营Day48|贪心算法7

代码随想录算法训练营Day48|贪心算法7


文章目录


一、70. 爬楼梯

java 复制代码
class Solution {
    public int climbStairs(int n) {
        int[] dp = new int[n + 1];
        int m = 2; 
        dp[0] = 1;

        for (int i = 1; i <= n; i++) { 
            for (int j = 1; j <= m; j++) { 
                if (i >= j) 
			dp[i] += dp[i - j];
            }
        }

        return dp[n];
    }
}

二、322. 零钱兑换

java 复制代码
class Solution {
    public int coinChange(int[] coins, int amount) {
        int max = Integer.MAX_VALUE;
        int[] dp = new int[amount + 1];
        for (int j = 0; j < dp.length; j++) {
            dp[j] = max;
        }
        dp[0] = 0;
        for (int i = 0; i < coins.length; i++) {
            for (int j = coins[i]; j <= amount; j++) {
                if (dp[j - coins[i]] != max) {
                    dp[j] = Math.min(dp[j], dp[j - coins[i]] + 1);
                }
            }
        }
        return dp[amount] == max ? -1 : dp[amount];
    }
}

三、279. 完全平方数

java 复制代码
class Solution {
    public int numSquares(int n) {
        int max = Integer.MAX_VALUE;
        int[] dp = new int[n + 1];
        for (int j = 0; j <= n; j++) {
            dp[j] = max;
        }
        dp[0] = 0;
        for (int j = 1; j <= n; j++) {
            for (int i = 1; i * i <= j; i++) {
                dp[j] = Math.min(dp[j], dp[j - i * i] + 1);
            }
        }
        return dp[n];
    }
}
相关推荐
whltaoin36 分钟前
贪心算法:部分背包问题深度解析
算法·贪心算法
不眠之夜1 小时前
龟兔赛跑:快慢指针法详解(Floyd's Tortoise and Hare Algorithm)
算法
零零壹111 小时前
Apipost自定义函数深度实战:灵活处理参数值秘籍
算法·面试·github
搞程序的心海1 小时前
当机器学习遇见购物车分析:FP-Growth算法全解析
算法
Ludicrouers1 小时前
【Leetcode-Hot100】字母异位词分组
算法·leetcode·职场和发展
aw3442 小时前
tiny_dnn_test250101
人工智能·算法·dnn
Bryce-Lin2 小时前
深度学习、图像算法学习记录
深度学习·学习·算法
AndrewHZ2 小时前
【图像处理基石】什么是自动曝光(AE)?
图像处理·人工智能·算法·计算机视觉·ae·isp算法·3a
朝九晚五ฺ2 小时前
【算法学习】链表篇:链表的常用技巧和操作总结
数据结构·学习·算法·链表
烁3473 小时前
每日一题(小白)暴力娱乐篇23
java·开发语言·算法·娱乐