最长连续序列

image
`/**

  • @param {number[]} nums
  • @return {number}
    */
    var longestConsecutive = function(nums) {
    const set = new Set(nums)
    let best = 0
    for (const x of set) {
    if (!set.has(x-1)) {
    let y = x
    while (set.has(y)) y++
    best = Math.max(best, y - x)
    }
    }
    return best
    };`

将数组放在set,可以自动去重,
首先依次遍历每一个数据,寻找它的前一个数是否存在,不存在才能作为开头,
能作为开头之后每次寻找y++数据,如果找不到了,就是最长的连续数组。然后继续以下一个数为开头。

posted @ 2025-08-11 22:30  后茶会小黑梓丶  阅读(4)  评论(0)    收藏  举报