---
# System prepended metadata

title: 1431. Kids With the Greatest Number of Candies

---

# 1431. Kids With the Greatest Number of Candies

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:
```
Input: candies = [2,3,5,1,3], extraCandies = 3
Output: [true,true,true,false,true] 
Explanation: 
Kid 1 has 2 candies and if he or she receives all extra candies (3) will have 5 candies --- the greatest number of candies among the kids. 
Kid 2 has 3 candies and if he or she receives at least 2 extra candies will have the greatest number of candies among the kids. 
Kid 3 has 5 candies and this is already the greatest number of candies among the kids. 
Kid 4 has 1 candy and even if he or she receives all extra candies will only have 4 candies. 
Kid 5 has 3 candies and if he or she receives at least 2 extra candies will have the greatest number of candies 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, therefore only kid 1 will have the greatest number of candies among the kids regardless of who takes the extra candy
```

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

Constraints:

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

## solution

這題題目很長看起來來勢洶洶，但其實就只是在問 

**哪個孩子拿到額外的糖後會是孩子中擁有最多糖的人**

而已。

candies = [2,3,5,1,3], 代表五個孩子，第一個孩子有2顆糖、第二個孩子有3顆糖...以此類推
extraCandies = 3，代表額外的糖有3顆

以此例子可以得知目前最多的糖為5顆，那麼就要去推測其他孩子本身加上拿取額外的3顆糖能不能大於等於5顆，能就回傳true 不能就回傳false。

回傳型別為 `[]bool`。

```go=
func kidsWithCandies(candies []int, extraCandies int) []bool {
    var max int
    var yesorno []bool
    
    for i:=0; i<len(candies);i++{
        if max < candies[i]{
            max = candies[i]
        }
    }
    
    for j:=0; j<len(candies);j++{
        if candies[j] + extraCandies >= max {
            yesorno = append(yesorno,true)
        }else{
            yesorno = append(yesorno,false)
        }
    }
    
    return yesorno
}
```

Runtime: 0 ms
Memory Usage: 2.3 MB