原题如下:
题目分析:
题目要求判断这群孩子中在原有糖数的基础上加上额外的糖数,成为拥有糖果最多的可能性。
题解:
1.寻找出这群孩子中拥有糖果最多的个数。
2.最多的减去额外的差值。
3.判断这个差值和孩子原有的糖果数,只要原有的糖果数大于等于(2)中的差值,即可成为最多。
bool* kidsWithCandies(int* candies, int candiesSize, int extraCandies, int* returnSize){
*returnSize = candiesSize;
bool *result = (bool*)malloc(candiesSize * sizeof(bool));
int i, temp, max = 0;
for(i = 0; i < candiesSize; i++) { //找出拥有糖果最多的数。
if(max < candies [i]) {
max = candies[i];
}
}
temp = max - extraCandies; //做差
for (i = 0; i < candiesSize ; i++) { //循环判断
result [i] = candies [i] >= temp ? true: false;
}
return result;
}