gpt4 book ai didi

swift - 这个函数的 O() 复杂度是多少?

转载 作者:行者123 更新时间:2023-11-28 12:20:21 25 4
gpt4 key购买 nike

这是一个简单的函数,用于检查字符串是否唯一。我认为复杂度应该是 N * N -> N^2。它是否正确?即使第二个 N 总是小于第一个。

func isUnique(_ str: String) -> Bool {

let charArr = Array(str.characters)

for (i1 , char) in charArr.enumerated() {

guard i1 != charArr.count - 1 else {
break
}

for (i2, char) in charArr[(i1 + 1)..<charArr.count].enumerated() {
if charArr[i1] == char {
return false
}
}
}
return true
}

最佳答案

是的,这个问题背后有很多神话,当您分析Big O 主题时,您会得到很多不同的答案。最受欢迎的问题是:

"If two nested for loops contains break statement. so still my complexity is n*n or O(n2)?"

我认为简单的答案是“

Big-O 表示法与根据您的实际参数找到精确值无关。它是关于确定渐近运行时间。

关于swift - 这个函数的 O() 复杂度是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45073411/

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