力扣每日亿题记录

255 阅读1分钟

Question

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

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

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

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

思路

先排序,能买起的就买,买不起拉倒。

解法

var maxIceCream = function(costs, coins) {
    var arr = costs.sort(function(a, b){return a - b});
    var num = 0;
    var index = 0;

    for(let i in arr){
        if(num+arr[i]<=coins){
            num+=arr[i];
            index++;
        }
    }
    return index;
};
maxIceCream([1,2,3,1,4],7);
输出4