llllmz

导航

904. 水果成篮c

int totalFruit(int* fruits, int fruitsSize) {
    int lanzi[2]={-1,-1};
    if(fruitsSize<=2) return fruitsSize;
    int max=0,count=0;
    int head=0,tail=0;
    while(tail<fruitsSize){
        int i=0;
        for(;i<2;i++){
            if(lanzi[i]==-1 || lanzi[i]==fruits[tail] ){
                lanzi[i]=fruits[tail++];
                count++;
                if(count>max) max=count;
                break;
            }
        }
        if(i==2){
            tail--;
            if(lanzi[0]!=fruits[tail]) {
                lanzi[0]=-1;
            }else{
                lanzi[1]=-1;
            }
            while(tail>0 && fruits[tail]==fruits[tail-1]) tail--;
            head=tail;
            count=0;
        }
    }
    return max;
}

 

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