1431. 拥有最多糖果的孩子
给你一个数组 candies 和一个整数 extraCandies ,其中 candies[i] 代表第 i 个孩子拥有的糖果数目。
对每一个孩子,检查是否存在一种方案,将额外的 extraCandies 个糖果分配给孩子们之后,此孩子有 最多 的糖果。注意,允许有多个孩子同时拥有 最多 的糖果数目。
优化的方法—O(n)
class Solution {
public List<Boolean> kidsWithCandies(int[] candies, int extraCandies) {
List<Boolean> ans = new ArrayList<>();
// 定义 max 记录数组最大值,初始化为 0 。
int max = 0;
for (int c : candies) {
max = Math.max(max, c);
}
// 依次遍历数组,加上额外糖果大于等于最大值则可以符合条件,否则不可以。
for (int c : candies) {
ans.add(c + extraCandies >= max);
}
return ans;
}
}