题目描述:
给你一个数组 candies 和一个整数 extraCandies ,其中 candies[i] 代表第 i 个孩子拥有的糖果数目。
对每一个孩子,检查是否存在一种方案,将额外的 extraCandies 个糖果分配给孩子们之后,此孩子有 最多 的糖果。注意,允许有多个孩子同时拥有 最多 的糖果数目。
思想:
贪心算法。
代码:
void getMaxCandies(int candies[],int extra,int length)
{
char res[MAXSIZE]={};//字符数组,与糖果数组一一对应
int max=getMax(candies,length);
for(int i=0;i<length;i++){
if(candies[i]+extra>=max)
res[i]='T';
else
res[i]='F';
}
printCharArr(res,length);
}
void printCharArr(char c[],int length){
for(int i=0;i<length;i++){
cout<<c[i]<<"\t";
}
}
int getMax(int a[],int length){
int max=a[0];
for(int i=1;i<length;i++){
if(a[i]>max)
max=a[i];
}
return max;
}
测试:
#include<stdio.h>
#include <stdlib.h>
#incl