题解 | #数组中的最长连续子序列#

数组中的最长连续子序列

https://www.nowcoder.com/practice/eac1c953170243338f941959146ac4bf

并没有用上并查集,很简单的一道题,但是如果是考试模式,容易忽略连续序列里面相等的情况
int cmp(const void *a, const void *b)
{
    int aa = *(int *)a;
    int bb = *(int *)b;
    return aa - bb;
}

int MLS(int* arr, int arrLen ) {
    int num = 1;
    int res = 0;
    
    qsort(arr, arrLen, sizeof(arr[0]), cmp);
    
    for (int i = 1; i < arrLen; i++) {
        if (arr[i] - arr[i-1] == 0) continue;
        if (arr[i] - arr[i-1] == 1) {
            num++;
        } else {
            num = 1;
        }
        res = fmax(num, res);
    }
    
    return res;
}


全部评论

相关推荐

酷酷的喜马拉雅山:感觉这比一直在初筛不动的好多了
点赞 评论 收藏
分享
09-22 22:22
中山大学 Java
乌鱼子萨奇:羡慕你啊,直接转正了,都不用经历秋招的炼狱,但是你少经历了很多痛苦的事情啊
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务