【Leetcode】1431. Kids With the Greatest Number of Candies

题目地址:

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)

你可能感兴趣的:(LC,数组,链表与模拟,leetcode,算法)