【问题描述】[中等]
给你一个数组 candies 和一个整数 extraCandies ,其中 candies[i] 代表第 i 个孩子拥有的糖果数目。对每一个孩子,检查是否存在一种方案,将额外的 extraCandies 个糖果分配给孩子们之后,此孩子有 最多 的糖果。注意,允许有多个孩子同时拥有 最多 的糖果数目。输入:candies = [12,1,12], extraCandies = 10
输出:[true,false,true]
【解答思路】
暴力
第一遍找最大max
第二遍遍历candies[i]+extraCandies>=max
时间复杂度:O(N) 空间复杂度:O(1)
public List<Boolean> kidsWithCandies(int[] candies, int extraCandies) {int maxCandies = 0;//数组中最大的糖果数List<Boolean> results = new ArrayList<>();//结果集for (int candy : candies) {maxCandies = Math.max(maxCandies, candy);}for (int candy : candies) {results.add(candy + extraCandies >= maxCandies);}return results;}
【总结】
1.List 列表新建
List results = new ArrayList<>();