1431. Kids With the Greatest Number of Candies LeetCode Solution

In this guide, you will get 1431. Kids With the Greatest Number of Candies LeetCode Solution with the best time and space complexity. The solution to Kids With the Greatest Number of Candies problem is provided in various programming languages like C++, Java, and Python. This will be helpful for you if you are preparing for placements, hackathons, interviews, or practice purposes. The solutions provided here are very easy to follow and include detailed explanations.

Table of Contents

  1. Problem Statement
  2. Complexity Analysis
  3. Kids With the Greatest Number of Candies solution in C++
  4. Kids With the Greatest Number of Candies solution in Java
  5. Kids With the Greatest Number of Candies solution in Python
  6. Additional Resources
1431. Kids With the Greatest Number of Candies LeetCode Solution image

Problem Statement of Kids With the Greatest Number of Candies

There are n kids with candies. You are given an integer array candies, where each candies[i] represents the number of candies the ith kid has, and an integer extraCandies, denoting the number of extra candies that you have.
Return a boolean array result of length n, where result[i] is true if, after giving the ith kid all the extraCandies, they will have the greatest number of candies among all the kids, or false otherwise.
Note that multiple kids can have the greatest number of candies.

Example 1:

Input: candies = [2,3,5,1,3], extraCandies = 3
Output: [true,true,true,false,true]
Explanation: If you give all extraCandies to:
– Kid 1, they will have 2 + 3 = 5 candies, which is the greatest among the kids.
– Kid 2, they will have 3 + 3 = 6 candies, which is the greatest among the kids.
– Kid 3, they will have 5 + 3 = 8 candies, which is the greatest among the kids.
– Kid 4, they will have 1 + 3 = 4 candies, which is not the greatest among the kids.
– Kid 5, they will have 3 + 3 = 6 candies, which is the greatest among the kids.

See also  1443. Minimum Time to Collect All Apples in a Tree LeetCode Solution

Example 2:

Input: candies = [4,2,1,1,2], extraCandies = 1
Output: [true,false,false,false,false]
Explanation: There is only 1 extra candy.
Kid 1 will always have the greatest number of candies, even if a different kid is given the extra candy.

Example 3:

Input: candies = [12,1,12], extraCandies = 10
Output: [true,false,true]

Constraints:

n == candies.length
2 <= n <= 100
1 <= candies[i] <= 100
1 <= extraCandies <= 50

Complexity Analysis

  • Time Complexity:
  • Space Complexity:

1431. Kids With the Greatest Number of Candies LeetCode Solution in C++

class Solution {
 public:
  vector<bool> kidsWithCandies(vector<int>& candies, int extraCandies) {
    vector<bool> ans;
    const int maxCandy = ranges::max(candies);

    for (const int candy : candies)
      ans.push_back(candy + extraCandies >= maxCandy);

    return ans;
  }
};
/* code provided by PROGIEZ */

1431. Kids With the Greatest Number of Candies LeetCode Solution in Java

class Solution {
  public List<Boolean> kidsWithCandies(int[] candies, int extraCandies) {
    List<Boolean> ans = new ArrayList<>();
    final int maxCandy = Arrays.stream(candies).max().getAsInt();

    for (final int candy : candies)
      ans.add(candy + extraCandies >= maxCandy);

    return ans;
  }
}
// code provided by PROGIEZ

1431. Kids With the Greatest Number of Candies LeetCode Solution in Python

class Solution:
  def kidsWithCandies(
      self,
      candies: list[int],
      extraCandies: int,
  ) -> list[bool]:
    maxCandy = max(candies)
    return [candy + extraCandies >= maxCandy for candy in candies]
# code by PROGIEZ

Additional Resources

Happy Coding! Keep following PROGIEZ for more updates and solutions.