2293.极大极小游戏
int minMaxGame(int* nums, int numsSize) {
int min(int a,int b){
if(a<b){
return a;
}
else return b;
}
int max(int a,int b){
if(a>b){
return a;
}
else return b;
}
while(numsSize!=1){
for(int i=0;i<numsSize/2;i++){
if(i%2==0){
nums[i]=min(nums[2*i],nums[2*i+1]);
}else{
nums[i]=max(nums[2*i],nums[2*i+1]);
}
}
numsSize/=2;
}
return nums[0];
}
2335.装满杯子需要的最短总时长
int fillCups(int* amount, int amountSize){
int maxi=0;
int mini=0;
int max=amount[0],min=amount[0],t=0;
while(amount[0]!=0&&amount[1]!=0&&amount[2]!=0){
t++;
for(int i=0;i<3;i++){
if(amount[i]>max){
max=amount[i];
maxi=i;
}
if(amount[i]<min){
min=amount[i];
mini=i;
}
}
if(maxi==mini){
mini++;
}
amount[maxi]--;
amount[mini]--;
max--;
min--;
}
max=-1;
for(int i=0;i<3;i++){
if(amount[i]>max){
max=amount[i];
}
}
return max+t;
}