Leetcode 1431: Kids With the Greatest Number of Candies

Category : Easy


Given the array candies and the integer  extraCandies, where  candies[i] represents the number of candies that the ith kid has.

For each kid check if there is a way to distribute  extraCandies among the kids such that he or she can have the greatest number of candies among them. Notice that multiple kids can have the greatest number of candies.



Example 1:

Example 2:

Example 3:


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

Solution Approach

This problem is pretty straight forward. You just have to find that if we give extra candies to a child individually then we have to tell if they will have the greatest amount of candies or not. 

We straightaway have the intuition that we have to find the child with the greatest amount of candies in the beginning and then we can compare that to all the children’s candies plus the extra candies. The advantage of finding the kid with the most candy is that we need not compare with other kid’s amount of candy. This will save a lot of execution time.

To find the kid with the most candy we can use array stream in Java. We can search one by one also throughout the array but this is one line implementation with the same complexity and it is prebuilt. After finding the maximum we just go through each child’s candy adding the extra candy and comparing it with the maximum and saving the result of that comparison in a boolean array. Then we just return that boolean array as the answer.

Solution code

For more Leetcode explained solutions visit Leetcode Solutions.

If you like capture the flag challenges visit here.

Check out my socials below in the footer. Feel free to ask any doubts in the comment section or contact me via Contact page I will surely respond. Happy Leetcoding 

Leave a Comment

Your email address will not be published. Required fields are marked *