leetcode No1833 雪糕的最大数量
Posted 短腿Cat
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode No1833 雪糕的最大数量相关的知识,希望对你有一定的参考价值。
题目
题解 贪心+排序
贪心,顾名思义就是贪到最多的,本题要求一定数额的钱,要获得最多数量的雪糕,那以我们平常人的思维去买,就是:
-
先买最便宜的
-
然后再买次便宜的
-
…
因此我们可以先将数组排序,排序后从头开始遍历,一直算到前i个雪糕价钱之和大于coin时停止(或者一直小于coin就遍历到数组尾部停止),我们以官方例1来讲解,coins = 7 , 数组costs = [1, 3, 2, 4, 1],先排序,排完序后进行如下操作:
到3时,coin剩余为0,则退出,最多可得到4根雪糕
因此我们可以编写如下代码
java版本:
class Solution
public int maxIceCream(int[] costs, int coins)
Arrays.sort(costs);
int count = 0;
for (int i = 0; i < costs.length; i++)
coins -= costs[i];
if (coins >= 0)
count++;
else
break;
return count;
golang版本:
func maxIceCream(costs []int, coins int) (count int)
sort.Ints(costs)
for _, c := range costs
coins -= c
if coins >= 0
count++
else
break
return;
javascript版本:
/**
* @param number[] costs
* @param number coins
* @return number
*/
var maxIceCream = function(costs, coins)
costs.sort((a, b) => a - b);
var count = 0;
var len = costs.length;
for (var i = 0; i < len; i++)
coins -= costs[i];
if (coins >= 0)
count++;
else
break;
return count;
;
以上是关于leetcode No1833 雪糕的最大数量的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode:1832判断句子是否为全字母句1833雪糕的最大数量
LeetCode 1833. 雪糕的最大数量 / NC62 平衡二叉树 / NC7:股票(一次交易)/ NC22 合并两个有序的数组