leetcode之雪糕的最大数量(C++)
参考链接
- 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++)相关推荐
- leetcode 1833. 雪糕的最大数量
夏日炎炎,小男孩 Tony 想买一些雪糕消消暑. 商店中新到 n 支雪糕,用长度为 n 的数组 costs 表示雪糕的定价,其中 costs[i] 表示第 i 支雪糕的现金价格.Tony 一共有 co ...
- LeetCode 1833. 雪糕的最大数量(贪心)
文章目录 1. 题目 2. 解题 1. 题目 夏日炎炎,小男孩 Tony 想买一些雪糕消消暑. 商店中新到 n 支雪糕,用长度为 n 的数组 costs 表示雪糕的定价,其中 costs[i] 表示第 ...
- Leetcode 1833 雪糕的最大数量
1833. 雪糕的最大数量 难度中等81收藏分享切换为英文接收动态反馈 夏日炎炎,小男孩 Tony 想买一些雪糕消消暑. 商店中新到 n 支雪糕,用长度为 n 的数组 costs 表示雪糕的定价,其中 ...
- leetcode:雪糕的最大数量
雪糕的最大数量 商店中新到 n 支雪糕,用长度为 n 的数组 costs 表示雪糕的定价,其中 costs[i] 表示第 i 支雪糕的现金价格.Tony 一共有 coins 现金可以用于消费,他想要买 ...
- leetcode 1833 雪糕的最大数量
夏日炎炎,小男孩 Tony 想买一些雪糕消消暑. 商店中新到 n 支雪糕,用长度为 n 的数组 costs 表示雪糕的定价,其中 costs[i] 表示第 i 支雪糕的现金价格.Tony 一共有 co ...
- 力扣(leetcode) 1833. 雪糕的最大数量(快速排序待更新......)
题目在这:https://leetcode-cn.com/problems/maximum-ice-cream-bars/ 思路分析: 题目比较好理解.我们可以直接使用排序函数对数组进行排序,然后从最 ...
- 【Leetcode】1833. 雪糕的最大数量
Leetcode: 1833. 雪糕的最大数量 题目描述: 解题思路 题目描述: 夏日炎炎,小男孩 Tony 想买一些雪糕消消暑.商店中新到 n 支雪糕,用长度为 n 的数组 costs 表示雪糕的定 ...
- LeetCode 每日一题 1833. 雪糕的最大数量
1833. 雪糕的最大数量 夏日炎炎,小男孩 Tony 想买一些雪糕消消暑. 商店中新到 n 支雪糕,用长度为 n 的数组 costs 表示雪糕的定价,其中 costs[i] 表示第 i 支雪糕的现金 ...
- 【LeetCode 1833】雪糕的最大数量
/* 难度:中等 夏日炎炎,小男孩Tony想买一些雪糕消消暑. 商店中新到n支雪糕,用长度为n的数组costs表示雪糕的定价,其中costs[i]表示第i支雪糕的现金价格. Tony一共有coins现 ...
最新文章
- C++中的stack类、QT中的QStack类
- axure rp pro 6.5
- 层次分析法之matlab
- Hadoop源代码分析之Configuration
- 计算机专业职称入深户,最近深圳很火的职称入户,到底要选什么职称?
- Git常用命令的使用方法
- 机器学习实战系列(七):数值回归与预测
- sync in demos
- 3.30作业(采购管理+信息管理)
- 安卓微博登录第三方详解
- CleanMyMac2022免费版MAC内存清理空间软件
- 生命是什么?生物化学、物理学、哲学对生命本源的共同探索
- Mac之button的使用Show+NSMenu+next+to+NSButton+in+Swift+OSX
- JAVA:实现一个CircularQueue循环队列算法(附完整源码)
- NAO机器人的Walk功能
- 蚂蚁客服介绍-微服网络
- stm32cubeide烧写程序_STM32CubeIDE使用入门的几个常见问题
- 【转】GridView的DataKeyNames的一些用法
- 回归、分类与聚类的分析与比较
- 癌症盒反衰老未来产业调查研究----体外克隆培养