javascript 这甚至是一个n ^ 2它使用一种非常有趣的方式来解决它与数组和包括

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 这甚至是一个n ^ 2它使用一种非常有趣的方式来解决它与数组和包括相关的知识,希望对你有一定的参考价值。

function removeDupes(str) {
    const uniqueChars = []

    for(let i=0; i < str.length; i++){ // O(n)
        const thisItem = str[i]
        
        // I'm checking if there is thisItem into uniqueChars
        // if so dont do anything else will add it into uniqueChars
        // the problem with this is that includes is O(n)
        // in addition the outter loop is O(n) so we get O(n^2)
        if(uniqueChars.includes(thisItem)){
            continue
        }else{
          uniqueChars.push(thisItem)
        }
    }
    return uniqueChars.join('')
}

console.log(
  removeDupes('abcd'),          // abcd
  removeDupes('aabbccdd'),      // abcd
  removeDupes('abababcdcdcd'), // abcd

)

// Time:  O(n^2)
// Space: O(n)

以上是关于javascript 这甚至是一个n ^ 2它使用一种非常有趣的方式来解决它与数组和包括的主要内容,如果未能解决你的问题,请参考以下文章

如何列出 javascript 对象的函数/方法? (这甚至可能吗?)

我从来不理解JavaScript闭包,直到有人这样向我解释它...

如何禁止使用Javascript保存密码泡沫铬?

使用 WebWorkers 的 JavaScript DoS 攻击

odoo12学习之javascript

什么是事件委托?JavaScript事件委托的实现原理