1431. 拥有最多糖果的孩子

1431. 拥有最多糖果的孩子
有 n 个有糖果的孩子。给你一个数组 candies,其中 candies[i] 代表第 i 个孩子拥有的糖果数目,和一个整数 extraCandies 表示你所有的额外糖果的数量。
返回一个长度为 n 的布尔数组 result,如果把所有的 extraCandies 给第 i 个孩子之后,他会拥有所有孩子中 最多 的糖果,那么 result[i] 为 true,否则为 false。
注意,允许有多个孩子同时拥有 最多 的糖果数目。

解法1

class Solution {
    public List<Boolean> kidsWithCandies(int[] candies, int extraCandies) {
        // 数组最大值
        int maxCandies = 0;
        for (int i = 0; i < candies.length; i++) {
            if (maxCandies < candies[i]) maxCandies = candies[i];
        }
        // 阈值 = 数组最大值 - 额外数量,小于阈值的为false
        int flag = maxCandies - extraCandies;
        List<Boolean> result = new ArrayList<>(candies.length);
        for (int i = 0; i < candies.length; i++) {
            result.add(candies[i] >= flag);
        }

        return result;
    }
}
posted @ 2025-08-11 17:24  Nickey103  阅读(4)  评论(0)    收藏  举报