【发布时间】:2020-11-30 18:01:47
【问题描述】:
我想找出以下代码的时间复杂度。我有一个具有重复值的整数数组。我从数组创建集合以删除重复条目,然后使用扩展运算符从该集合初始化新数组。
代码:
let list=[1,1,2,3,4,4]
let uniqueNumbers=[...new Set(list)]
console.log(uniqueNumbers)
【问题讨论】:
标签: javascript arrays algorithm set
我想找出以下代码的时间复杂度。我有一个具有重复值的整数数组。我从数组创建集合以删除重复条目,然后使用扩展运算符从该集合初始化新数组。
代码:
let list=[1,1,2,3,4,4]
let uniqueNumbers=[...new Set(list)]
console.log(uniqueNumbers)
【问题讨论】:
标签: javascript arrays algorithm set
这里有两件事要做:
new Set(list) 遍历 list 的每个元素并将其放入一个 Set 中。这是O(n)
[...set] 遍历 Set 的每个元素并将其放入数组中。在几乎所有情况下,这也是O(n)。两个操作都是O(n),所以总体来说,计算复杂度是O(n)。
【讨论】: