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

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

这是一个检查字符串是否唯一的简单函数。我认为复杂性应该是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
}
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表示法不是在给定实际参数的情况下查找精确值,而是确定渐近运行时间。

是的,这是正确的。是的,这是正确的。