【LeetCode(Java) - 1196】最多可以买到的苹果数量

1、题目描述

在这里插入图片描述

2、解题思路

  要装尽可能多的苹果,就得选择轻一点的。

  1、对 arr 进行从小到大排序;

  2、遍历 arr,每遍历一个苹果,就拿5000减去它的重量;

  2.1 减完后如果重量大于等于0,说明当前苹果可以装入,计数加一;

  2.2 减完后如果重量小于0,说明当前苹果不可以装入,计数值不加一,返回计数值。

3、解题代码

class Solution {
    public int maxNumberOfApples(int[] arr) {
        int total = 5000;
        Arrays.sort(arr);
        int count = 0;
        for (int x : arr) {
            total -= x;
            if (total >= 0) {
                count++;
            } else {
                break;
            }
        }
        return count;
    }
}
©️2020 CSDN 皮肤主题: 精致技术 设计师:CSDN官方博客 返回首页