Description
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.
⭐️ Key Requirement
Each kid can receive all
extraCandies
at once, meaning we check each kid individually.Compare with the maximum number of candies to see if the kid can have the most after receiving
extraCandies
.Return a boolean array, where
true
means the kid has the greatest number of candies, andfalse
means they do not.
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.
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
📌 My Submission
/**
* @param {number[]} candies
* @param {number} extraCandies
* @return {boolean[]}
*/
var kidsWithCandies = function(candies, extraCandies) {
const max = Math.max(...candies)
let result = []
for(let i=0; i<candies.length; i++){
if(candies[i]+extraCandies >= max){
result.push(true)
} else {
result.push(false)
}
}
return result
};
- Create an empty array to store the results.
- Find the maximum number in the
candies
array to use as a reference for comparison. - Loop through the
candies
array and check ifcandies[i] + extraCandies
is greater than or equal to the maximum value. - If
candies[i] + extraCandies
is greater than or equal to the maximum, pushtrue
to the result array; otherwise, pushfalse
. - Return the result array.
Top comments (0)