Swift 这个函数的O()复杂度是多少?
这是一个检查字符串是否唯一的简单函数。我认为复杂性应该是N*N->N^2。这是正确的吗?即使第二个N总是比第一个小Swift 这个函数的O()复杂度是多少?,swift,big-o,Swift,Big O,这是一个检查字符串是否唯一的简单函数。我认为复杂性应该是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 { brea
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
}
func是唯一的(str:String)->Bool{
让charArr=数组(str.characters)
对于charArr.enumerated()中的(i1,char){
防护装置i1!=charArr.count-1其他{
打破
}
对于charArr[(i1+1)…中的(i2,char)…是的,这个问题背后有很多神话,当你分析大O主题时,你会得到很多不同的答案。最流行的问题是:
如果两个嵌套的for循环包含break语句,那么我的复杂性
是n*n还是O(n2)?”
我认为简单的答案是“
Big-O表示法并不是根据实际参数寻找精确值,而是确定渐近运行时间。是的,这个问题背后有很多神话,当你分析Big-O主题时,你会得到很多不同的答案。最流行的问题是:
如果两个嵌套的for循环包含break语句,那么我的复杂性
是n*n还是O(n2)?”
我认为简单的答案是“
Big-O表示法不是在给定实际参数的情况下查找精确值,而是确定渐近运行时间。是的,这是正确的。是的,这是正确的。