在swift中查找2D数组中的max元素

时间:2015-10-27 10:08:13

标签: ios swift2

由于我们支持Array使用maxElement()查找max元素,我们是否有任何方法可以使用swift-2.0在2D数组Array<Array<Double>>中找到max元素?或者我们需要编写自己的方法吗?

2 个答案:

答案 0 :(得分:1)

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

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()
在这种情况下,

max Optional(9)

或者您可以使用相同的地图

let max2 = matrix.map({ (a) -> Int in
    return a.maxElement()!
}).maxElement()!

较短版本

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

答案 1 :(得分:0)

    import UIKit

var val= [
    [2, 4, 9],
    [3, 6, 0],
    [8, 7]
]

func raiseLowerValue(inout val: [[Int]]) {
    for row in 0..<image.count {
        for col in 0..<image[row].count {
           if image[row][col] < 5 {
              image[row][col] = 5
           }
        }
    }
}

代以&#34;如果&#34;你可以按排序使用!或者另一种方式。