题目链接:
在这个题中,我们可以假设每一个孩子都自己一个人拥有额外的糖果,然后在每个孩子中找出拥有糖果最多的那个孩子,如果一个孩子,拥有了额外的糖果,糖果数量还是小于有糖果最多的那个孩子,那他就不是拥有糖果数量最多的那个孩子,否则他就是
代码如下:
/**
* Note: The returned array must be malloced, assume caller calls free().
*/
bool* kidsWithCandies(int* candies, int candiesSize, int extraCandies, int* returnSize){
bool* res = (bool*)calloc(sizeof(bool),candiesSize);
*returnSize = candiesSize;
int max = 0;
for(int i = 0;i < candiesSize;i++)
{
if(max < candies[i])
{
max = candies[i];
}
}
for(int i = 0;i < candiesSize;i++)
{
if(candies[i] + extraCandies < max)
{
res[i] = false;
}
else
{
res[i] = true;
}
}
return res;
}