llllmz

导航

135. 分发糖果c

int max(int i,int j){
    if(i>j) return i;
    return j;
}

int candy(int* ratings, int ratingsSize) {
   int* left=(int*)malloc(sizeof(int)*ratingsSize);
   int* right=(int*)malloc(sizeof(int)*ratingsSize);
   for(int i=0;i<ratingsSize;i++){
        if(i!=0&&ratings[i-1]<ratings[i]){
            left[i]=left[i-1]+1;
        }else{
            left[i]=1;
        }
   }
    int sum=0;
    for(int i=ratingsSize-1;i>=0;i--){
        if(i!=ratingsSize-1 && ratings[i]>ratings[i+1]){
            right[i]=right[i+1]+1;
        }else{
            right[i]=1;
        }
        sum+=max(left[i],right[i]);
    }
    return sum;
}

 

posted on 2024-03-16 17:34  神奇的萝卜丝  阅读(19)  评论(0)    收藏  举报