不排序,两步循环解法

来源:5-8 缺失的第一个正数(1)

商无盐

2019-11-13

var firstMissingPositive = function(nums) {
    let s = new Set();
    let max = 0;
    nums.forEach(n => {
        s.add(n);
        if (n > max) {
            max = n;
        }
    });
    for (let i = 1; i <= max + 1; i++) {
        if (!s.has(i)) {
            return i;
        }
    }
};
写回答

1回答

快乐动起来呀

2019-11-13

思路没问题,只是如果 max 很大时间复杂度考虑下是多少?

0
0

JavaScript版 数据结构与算法

填补前端同学的算法短板,掌握面试中最常见的算法与数据结构

2467 学习 · 395 问题

查看课程