因为我们支持Array使用maxElement()查找max元素,所以有什么方法可以在swift-2.0的2D数组Array<Array<Double>>中找到max元素吗?还是我们需要编写自己的方法?

最佳答案

我不知道有任何内置的支持,但我想这是一个足够简单的解决方案

var matrix = [[3,5,4,6,7,],[9,2,6,8,3,5],[1,2,6,7,8,4]]

let max = matrix.maxElement({ (a, b) -> Bool in
    return a.maxElement() < b.maxElement()
})?.maxElement()

在这种情况下,最大为Optional(9)
或者您可以将 map 用于相同的
let max2 = matrix.map({ (a) -> Int in
    return a.maxElement()!
}).maxElement()!

短版
let max3 = matrix.map({ $0.maxElement()!}).maxElement()!

关于ios - 快速找到二维数组中的最大元素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33364995/

10-11 14:42