从数组创建集合的时间复杂度是多少?

Asa*_*zar 3 javascript arrays algorithm set

我想找到以下代码的时间复杂度。我有一个具有重复值的整数数组。我从数组创建了集合以删除重复的条目,然后使用扩展运算符从该集合中初始化新数组。

代码:

let list=[1,1,2,3,4,4]
let uniqueNumbers=[...new Set(list)]
console.log(uniqueNumbers)
Run Code Online (Sandbox Code Playgroud)

Cer*_*nce 12

这里做了两件事:

  • new Set(list)迭代 的每个元素list并将其放入 Set 中。这是O(n)
  • [...set]迭代 Set 的每个元素并将其放入数组中。O(n)几乎所有情况都会如此。

两个操作都是O(n),所以总体来说,计算复杂度是O(n)