题目链接:
在这个题中,我们可以假设每一个孩子都自己一个人拥有额外的糖果,然后在每个孩子中找出拥有糖果最多的那个孩子,如果一个孩子,拥有了额外的糖果,糖果数量还是小于有糖果最多的那个孩子,那他就不是拥有糖果数量最多的那个孩子,否则他就是
代码如下:
/**
* 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;
}

这段代码描述了一个编程问题,目标是确定在每个孩子增加额外糖果后,谁拥有最多的糖果。通过遍历并比较糖果数量,创建一个布尔数组表示哪些孩子满足条件。
641

被折叠的 条评论
为什么被折叠?



