-
Notifications
You must be signed in to change notification settings - Fork 21
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
58 additions
and
0 deletions.
There are no files selected for viewing
58 changes: 58 additions & 0 deletions
58
LeetCode/ProgrammingInGo/KidsWithGreatestCandies/maximumcandies.go
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
/*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. | ||
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 | ||
*/ | ||
// Solution | ||
func findMax(array []int) int { | ||
var max_v int = array[0] | ||
for _, value := range array { | ||
if max_v < value { | ||
max_v = value | ||
} | ||
} | ||
return max_v | ||
} | ||
|
||
func KidsWithCandies(candies []int, extraCandies int) []bool { | ||
n := len(candies) | ||
result := make([]bool, n) | ||
for i := 0; i < n; i++ { | ||
if (candies[i] + extraCandies >= findMax(candies)) { | ||
result[i] = true | ||
} | ||
} | ||
return result | ||
} |