参考链接

  1. https://leetcode-cn.com/problems/maximum-ice-cream-bars/

题目描述

夏日炎炎,小男孩 Tony 想买一些雪糕消消暑。

商店中新到 n 支雪糕,用长度为 n 的数组 costs 表示雪糕的定价,其中 costs[i] 表示第 i 支雪糕的现金价格。Tony 一共有 coins 现金可以用于消费,他想要买尽可能多的雪糕。

给你价格数组 costs 和现金量 coins ,请你计算并返回 Tony 用 coins 现金能够买到的雪糕的 最大数量 。

注意:Tony 可以按任意顺序购买雪糕。

解题思路

动态规划

看到“穷举”、“最”等字眼,下意识用动态规划解了。本题的“选择”是对每个雪糕买还是不买,“状态”就是手上的钱。但很不幸的超时了。

贪心

要买更多的雪糕数,就应该买尽可能便宜的。所以先对数组进行排序,然后从第一个开始买,直到钱不够。

代码

动态规划

class Solution {public:int dp(vector<int>& costs, int index, int coins){if (index == costs.size() || coins <= 0){return 0;}int do_it = 0;if (coins - costs[index] >= 0){do_it = dp(costs, index + 1, coins - costs[index]) + 1;}int not_do = dp(costs, index + 1, coins);return max(do_it, not_do);}int maxIceCream(vector<int>& costs, int coins) {sort(costs.begin(), costs.end());cout << costs[1] << endl;int res = dp(costs, 0, coins);return res;}
};

贪心

class Solution {public:int maxIceCream(vector<int>& costs, int coins) {sort(costs.begin(), costs.end());int res = 0;for (int cost : costs){if (cost <= coins){res ++;coins -= cost;}else{break;}}return res;}
};

leetcode之雪糕的最大数量(C++)相关推荐

  1. leetcode 1833. 雪糕的最大数量

    夏日炎炎,小男孩 Tony 想买一些雪糕消消暑. 商店中新到 n 支雪糕,用长度为 n 的数组 costs 表示雪糕的定价,其中 costs[i] 表示第 i 支雪糕的现金价格.Tony 一共有 co ...

  2. LeetCode 1833. 雪糕的最大数量(贪心)

    文章目录 1. 题目 2. 解题 1. 题目 夏日炎炎,小男孩 Tony 想买一些雪糕消消暑. 商店中新到 n 支雪糕,用长度为 n 的数组 costs 表示雪糕的定价,其中 costs[i] 表示第 ...

  3. Leetcode 1833 雪糕的最大数量

    1833. 雪糕的最大数量 难度中等81收藏分享切换为英文接收动态反馈 夏日炎炎,小男孩 Tony 想买一些雪糕消消暑. 商店中新到 n 支雪糕,用长度为 n 的数组 costs 表示雪糕的定价,其中 ...

  4. leetcode:雪糕的最大数量

    雪糕的最大数量 商店中新到 n 支雪糕,用长度为 n 的数组 costs 表示雪糕的定价,其中 costs[i] 表示第 i 支雪糕的现金价格.Tony 一共有 coins 现金可以用于消费,他想要买 ...

  5. leetcode 1833 雪糕的最大数量

    夏日炎炎,小男孩 Tony 想买一些雪糕消消暑. 商店中新到 n 支雪糕,用长度为 n 的数组 costs 表示雪糕的定价,其中 costs[i] 表示第 i 支雪糕的现金价格.Tony 一共有 co ...

  6. 力扣(leetcode) 1833. 雪糕的最大数量(快速排序待更新......)

    题目在这:https://leetcode-cn.com/problems/maximum-ice-cream-bars/ 思路分析: 题目比较好理解.我们可以直接使用排序函数对数组进行排序,然后从最 ...

  7. 【Leetcode】1833. 雪糕的最大数量

    Leetcode: 1833. 雪糕的最大数量 题目描述: 解题思路 题目描述: 夏日炎炎,小男孩 Tony 想买一些雪糕消消暑.商店中新到 n 支雪糕,用长度为 n 的数组 costs 表示雪糕的定 ...

  8. LeetCode 每日一题 1833. 雪糕的最大数量

    1833. 雪糕的最大数量 夏日炎炎,小男孩 Tony 想买一些雪糕消消暑. 商店中新到 n 支雪糕,用长度为 n 的数组 costs 表示雪糕的定价,其中 costs[i] 表示第 i 支雪糕的现金 ...

  9. 【LeetCode 1833】雪糕的最大数量

    /* 难度:中等 夏日炎炎,小男孩Tony想买一些雪糕消消暑. 商店中新到n支雪糕,用长度为n的数组costs表示雪糕的定价,其中costs[i]表示第i支雪糕的现金价格. Tony一共有coins现 ...

最新文章

  1. C++中的stack类、QT中的QStack类
  2. axure rp pro 6.5
  3. 层次分析法之matlab
  4. Hadoop源代码分析之Configuration
  5. 计算机专业职称入深户,最近深圳很火的职称入户,到底要选什么职称?
  6. Git常用命令的使用方法
  7. 机器学习实战系列(七):数值回归与预测
  8. sync in demos
  9. 3.30作业(采购管理+信息管理)
  10. 安卓微博登录第三方详解
  11. CleanMyMac2022免费版MAC内存清理空间软件
  12. 生命是什么?生物化学、物理学、哲学对生命本源的共同探索
  13. Mac之button的使用Show+NSMenu+next+to+NSButton+in+Swift+OSX
  14. JAVA:实现一个CircularQueue循环队列算法(附完整源码)
  15. NAO机器人的Walk功能
  16. 蚂蚁客服介绍-微服网络
  17. stm32cubeide烧写程序_STM32CubeIDE使用入门的几个常见问题
  18. 【转】GridView的DataKeyNames的一些用法
  19. 回归、分类与聚类的分析与比较
  20. 癌症盒反衰老未来产业调查研究----体外克隆培养

热门文章

  1. groovy快速上手第2篇:数据类型篇
  2. keepalived配置,解决vip无法ping通,虚拟服务器端口无法访问的问题
  3. 手写简易版链表及原理分析
  4. 计算机软件ghb,GHB 文件扩展名: 它是什么以及如何打开它?
  5. Matlab对图像进行裁剪。seam carving
  6. DELPHI 线程类
  7. Kafka组件connector使用详解
  8. 用js代码实现四位验证码
  9. Docker(三)- 从镜像运行启动容器
  10. exec族函数详解(execl, execlp, execle, execv, execvp, execvpe )