【leetcode】最长和谐子序列

 

int cmp(const void* a, const void* b){
    return    *(int*)a - *(int*)b;
}
int findLHS(int* nums, int numsSize){
    qsort(nums,numsSize,sizeof(int),cmp);
    int i,max=0,num=1,pre=0;
    for (i=1; i<numsSize; i++)
    {        
        if (nums[i] > nums[i-1])
        {
            if (pre && num+pre > max) max=num+pre;
            pre = (nums[i] - nums[i-1] == 1)? num: 0; 
            num=0;
        }
        if (i == numsSize-1 && pre && num+pre+1 > max) 
            max = num+pre+1;
        num++;
    }
    return max;
}

 

posted @ 2020-09-22 16:11  温暖了寂寞  阅读(138)  评论(0编辑  收藏  举报