gpt4 book ai didi

javascript - for 循环内部 "in"运算符的大 O

转载 作者:行者123 更新时间:2023-12-02 16:39:43 25 4
gpt4 key购买 nike

考虑这个片段:

const obj1 = {1:1, 2:1, 3:1}
const obj2 = {1:1, 4:1, 9:1}

for(let key in obj1){
if(!(key ** 2 in obj2)) return false
}

这个算法的大O可以考虑O(n)还是应该是O(n^2)因为:

if(!(key ** 2 in obj2))

被认为是循环遍历obj2的所有项(搜索)

** 注意**:假设obj1和obj2的长度相等

最佳答案

JavaScript 对象实际上是一个哈希表,因此查找键的复杂度为 O(1)。

因此,整个算法的复杂度为 O(n)。

关于javascript - for 循环内部 "in"运算符的大 O,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61942987/

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