问题描述
- 给你一个数组candies和一个整数extraCandies,其中candies[i]代表第i个孩子拥有的糖果数目。对每一个孩子,检查是否存在一种方案,将额外的extraCandies个糖果分配给孩子们之后,此孩子有最多的糖果。注意,允许有多个孩子同时拥有最多的糖果数目。
-
输入:candies = [2,3,5,1,3], extraCandies = 3
-
输出:[true,true,true,false,true]
解题思路
- 首先获取candies数组中的最大值maxNumber,接着循环遍历candies中的每一个元素。如果当前元素(i + extraCandies)>= maxNumber, 结果为true,否则为false。
Java 代码
public List<Boolean> kidsWithCandies(int[] candies, int extraCandies){
int maxNumber = Arrays.stream(candies).max().getAsInt();
List<Boolean> res = new ArrayList<>();
for(int number : candies){
if((number + extraCandies) >= maxNumber){
res.add(true);
}else{
res.add(false);
}
}
return res;
}
Python 代码
def kidsWithCandies(candies, extraCandies):
maxNumber = max(candies)
res = []
for i in candies:
if (i + extraCandies)>=maxNumber:
res.append(True)
else:
res.append(False)
return res