算法训练第四十五天

这篇具有很好参考价值的文章主要介绍了算法训练第四十五天。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

279. 完全平方数 - 力扣(LeetCode)

总结:又是一个完全背包问题,自己这题的问题出在没有根据题意来初始化,只初始化了dp[1],因为感觉根据题意dp[0]不需要初始化导致错误

代码:

class Solution {
public:
    int numSquares(int n) {
        vector<int> dp(n + 1,INT_MAX);
        dp[0] = 0;
        dp[1] = 1;
        
        for(int i = 1;i <= n/2;i++ )//物品
        {
            for(int j = i * i;j <= n;j++)//背包
            {
                if(dp[j - i * i] != INT_MAX)
                dp[j] = min(dp[j - i * i] + 1,dp[j]);
            }
        }
        return dp[n];
    }
};

322. 零钱兑换 - 力扣(LeetCode)

总结:也是一种完全背包,不过与昨天的区别在于这题是求最少所以选择min。文章来源地址https://www.toymoban.com/news/detail-671984.html

class Solution {
public:
    int coinChange(vector<int>& coins, int amount) {
        vector<int>dp (amount + 1,INT_MAX);
        dp[0] = 0;
        for(int i = 0;i < coins.size();i++)
        {
            for(int j = coins[i];j <= amount;j++)
            {
                if (dp[j - coins[i]] != INT_MAX)
                dp[j] = min(dp[j - coins[i]] + 1,dp[j]);
            }
        }
        if (dp[amount] == INT_MAX) return -1;
        return dp[amount];
    }
};

到了这里,关于算法训练第四十五天的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 算法训练第四十九天 | 121.买卖股票的最佳时机、122.买卖股票的最佳时机II

    题目链接:121.买卖股票的最佳时机 参考:https://programmercarl.com/0121.%E4%B9%B0%E5%8D%96%E8%82%A1%E7%A5%A8%E7%9A%84%E6%9C%80%E4%BD%B3%E6%97%B6%E6%9C%BA.html 视频讲解:https://www.bilibili.com/video/BV1Xe4y1u77q 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一

    2024年02月01日
    浏览(29)
  • 算法训练第四十二天|01背包问题 二维 、01背包问题 一维、416. 分割等和子集

    视频链接:https://www.bilibili.com/video/BV1cg411g7Y6/ 参考:https://programmercarl.com/%E8%83%8C%E5%8C%85%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%8001%E8%83%8C%E5%8C%85-1.html 对于面试的话,其实掌握01背包,和完全背包,就够用了,最多可以再来一个多重背包。 而完全背包又是也是01背包稍作变化而来,即:完全

    2024年02月01日
    浏览(33)
  • 算法训练第四十三天|1049. 最后一块石头的重量 II 、494. 目标和、474.一和零

    题目链接:1049. 最后一块石头的重量 II 参考:https://programmercarl.com/1049.%E6%9C%80%E5%90%8E%E4%B8%80%E5%9D%97%E7%9F%B3%E5%A4%B4%E7%9A%84%E9%87%8D%E9%87%8FII.html 题目难度:中等 有一堆石头,每块石头的重量都是正整数。 每一回合,从中选出任意两块石头,然后将它们一起粉碎。假设石头的重量分

    2023年04月09日
    浏览(27)
  • 算法训练第四十八天|198.打家劫舍、213.打家劫舍II、337.打家劫舍III

    题目链接:198.打家劫舍 参考:https://programmercarl.com/0198.%E6%89%93%E5%AE%B6%E5%8A%AB%E8%88%8D.html 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入

    2023年04月16日
    浏览(31)
  • 算法第四十一天-排除排序链表中的重复元素Ⅱ

    题意:在一个 有序 链表中,如果一个节点的值出现不止一次,那么把这个节点删除掉 重点: 有序链表 ,所以,一个节点的值出现不止一次,那么他们必相邻。 方法一:递归 链表和树的问题,一般都可以有递归和迭代两种写法。对于本题一定要记住是有序链表,值相同的节

    2024年04月11日
    浏览(73)
  • 代碼隨想錄算法訓練營|第四十六天|完全背包、518. 零钱兑换 II、377. 组合总和 Ⅳ。刷题心得(c++)

    目录 动态规划 - 完全背包 和01背包的差別 定義 核心代碼 遍歷順序 總結 讀題 518. 零钱兑换 II 自己看到题目的第一想法 看完代码随想录之后的想法 377. 组合总和 Ⅳ 自己看到题目的第一想法 518. 零钱兑换 II - 實作 思路 Code 377. 组合总和 Ⅳ - 實作 思路 Code 總結 自己实现过

    2024年02月08日
    浏览(33)
  • 第四十七章 液态网络

    如弗洛格老师所料,巴哥奔果真倒头睡掉了一夜一昼又一夜。 再次醒来,浑身酸痛仍在,却是以鸡皮疙瘩的形式存在于皮肤上。临鸾连续弹出两个数字,其一是时间,其二是任务量。 时间很快得到室友们的确认,没错,现在已快到了跟老师面谈的时候。 任务量却令众人十分

    2024年02月09日
    浏览(24)
  • 第四十九天

    ●兼容性测试:主要是检查软件在不同的硬件平台、软件平台上是否可以正常的运行。 •兼容测试测什么? Android碎片化严重,每一款游戏/应用在上线之前,都会做一轮覆盖一定机型量的兼容性测试。 在产品面对海量用户之前,可以通过兼容测试尽量筛选出并解决所有影响

    2024年02月13日
    浏览(26)
  • 学习java第四十三天

    Spring AOP 相关术语 (1)切面(Aspect):切面是通知和切点的结合。通知和切点共同定义了切面的全部内容。 (2)连接点(Join point):指方法,在Spring AOP中,一个连接点总是代表一个方法的执行。连接点是在应用执行过程中能够插入切面的一个点。这个点可以是调用方法时

    2024年04月15日
    浏览(33)
  • 第四十周:文献阅读+GAN

    目录 摘要 Abstract 文献阅读:结合小波变换和主成分分析的长短期记忆神经网络深度学习在城市日需水量预测中的应用 现有问题 创新点 方法论 PCA(主要成分分析法) DWT(离散小波变换) DWT-PCA-LSTM模型 研究实验 实验目的 数据集 评估指标 实验设计 实验结果分析 Generative a

    2024年01月22日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包