gpt4 book ai didi

javascript - 将数组转换为 Set 的时间复杂度 (Big-O)

转载 作者:行者123 更新时间:2023-12-05 00:28:32 26 4
gpt4 key购买 nike

所以有多种方法可以转换 ArraySet在 JS 中。
示例 #2 肯定是 O(n) 因为正在遍历数组的所有元素。示例 #1 的情况是否相同?还是JS在后台为我们做了一些优化?
如果是,使用示例 #1 有什么缺点吗?
示例 1

const arr = [ 1, 3, 2, 3, 5 ];
const set = new Set(arr);

console.log(set);

/*
Output: Set { 1, 3, 2, 5 }
*/
示例 2
const arr = [ 1, 3, 2, 3, 5 ];    
const set = new Set();
arr.map(item => set.add(item));

console.log(set);

/*
Output: Set { 1, 3, 2, 5 }
*/

最佳答案

还是O(n) ; JS 没有什么神奇的方法可以把所有 n Set 中的元素没有真正遍历所有 n元素。低于 O(n) 的唯一方法将跳过一些元素,如果必须考虑将所有元素都包含在 Set 中,这显然是不可能的。 .

关于javascript - 将数组转换为 Set 的时间复杂度 (Big-O),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63543514/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com