思路分析
只要存在一个方案就输出true,极端考虑,将额外的糖果全部分配给一个孩子,如果能让他的糖果数量不小于原来的最大值,那么就证明存在满足条件的方案。
代码实现
class Solution {public List<Boolean> kidsWithCandies(int[] candies, int extraCandies) {int max = 0;List<Boolean> ans = new ArrayList<Boolean>();int i;// 找出拥有最多的糖果数量for (i = 0; i < candies.length; ++i){if (candies[i] > max){max = candies[i];}}// 加上额外的糖果数后不小于最大值即表示存在方案for (i = 0; i < candies.length; ++i){if (candies[i] + extraCandies >= max){ans.add(true);}else{ans.add(false);}}return ans;}}
