swift2 在Swift中查找2D数组中的最大元素

klsxnrf1  于 2023-08-05  发布在  Swift
关注(0)|答案(3)|浏览(278)

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

lnlaulya

lnlaulya1#

我不知道有什么内置的支持,但我认为这是一个足够简单的解决方案

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)
也可以使用map

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


较短版本

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

f0brbegy

f0brbegy2#

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
           }
        }
    }
}

字符串
通过替换“if”,您可以使用按排序!或者相反

oewdyzsn

oewdyzsn3#

最优化、最通用的解决方案:

struct CustomObject {
  var date: Date
}

个字符
compactMap之后,你得到一个flatten数组,它由嵌套数组中的max元素组成。第二次使用max。
此代码使用尽可能少的内存和cpu。

相关问题