赞
踩
https://leetcode.com/problems/kids-with-the-greatest-number-of-candies/
给定一个数组 A A A, A [ i ] A[i] A[i]代表下标为 i i i的小朋友拥有的糖的数量,再给定一个数代表新增的糖果数量。对于每一个小朋友,是否存在一种对新增糖果的分法,使得该小朋友拥有的糖果数最多。
只需判断一下 A [ i ] A[i] A[i]加上新增糖果数量后是否不小于 A A A的最大值即可。代码如下:
import java.util.ArrayList; import java.util.List; public class Solution { public List<Boolean> kidsWithCandies(int[] candies, int extraCandies) { List<Boolean> res = new ArrayList<>(); if (candies == null || candies.length == 0) { return res; } int max = 0; for (int candy : candies) { max = Math.max(max, candy); } for (int candy : candies) { res.add(candy + extraCandies >= max); } return res; } }
时间复杂度 O ( n ) O(n) O(n),空间 O ( 1 ) O(1) O(1)。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。