老师双指针思想对数组去重咋不行呀?

来源:2-20 找出一个数组中和为 n 的两个数-双指针的代码演示

慕容6596715

2022-03-06

    // 双指针办法对数组去重 避免复杂度O(n^2)不可用
    function unique2(arr) {
        let res = []
        const length = arr.length;
        if (length === 0) return res

        let i = 0 // 头
        let j = length - 1 // 尾

        while (i < j) {
            const n1 = arr[i]
            const n2 = arr[j]
            if (n1 !== n2) {
                i++
                j--
            } else {
                res.push(n1)
                break
            }
        }

        return res
    }

    console.log(unique2([1, 8, 2, 3, 6, 3, 5, 2, 4, 4]));
写回答

1回答

双越

2022-03-07

数组去重,我下次升级时再补充吧,详细讲一下。

最简单的方式,可以把数组转换为 set ,然后再转换为数组,就去重了。

0
3
慕容6596715
回复
weixin_宝慕林8180759
可以贴你的代码来看下吗?
2022-05-05
共3条回复

2周刷完100道前端优质面试真题 双越最新力作

『前端面试真题100道』视频详解

1509 学习 · 642 问题

查看课程