gpt4 book ai didi

string - Swift - 在 [String] 数组中查找最长字符串的最佳实践

转载 作者:IT王子 更新时间:2023-10-29 05:32:34 26 4
gpt4 key购买 nike

我正在尝试找到获取字符串数组中最长字符串的最有效方法。例如:

let array = ["I'm Roi","I'm asking here","Game Of Thrones is just good"]

结果将是 - “权力的游戏很好”

我试过使用 maxElement 函数,它以字母顺序给出了最大字符串 (maxElement())。

有什么建议吗?谢谢!

最佳答案

不要使用 O(n log(n)) 的排序来获得良好的排序,而是使用 max(by:) ,它是 O(n) 在 Array 上为它提供一个闭包来比较字符串长度:

swift 4:

对于 Swift 4,您可以使用 String 上的 count 属性获取字符串长度:

let array = ["I'm Roi","I'm asking here","Game Of Thrones is just good"]

if let max = array.max(by: {$1.count > $0.count}) {
print(max)
}

swift 3:

String 上使用 .characters.count 获取字符串长度:

let array = ["I'm Roi","I'm asking here","Game Of Thrones is just good"]

if let max = array.max(by: {$1.characters.count > $0.characters.count}) {
print(max)
}

swift 2:

在 Array 上使用 maxElement 为它提供一个闭包来比较字符串长度:

let array = ["I'm Roi","I'm asking here","Game Of Thrones is just good"]

if let max = array.maxElement({$1.characters.count > $0.characters.count}) {
print(max)
}

注意:maxElementO(n)。一个好的排序是 O(n log(n)),所以对于大型数组,这将比排序快得多。

关于string - Swift - 在 [String] 数组中查找最长字符串的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36891147/

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