Как быстро найти индекс элемента в многомерном массиве?
Допустим, у меня есть этот массив:
let a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
Теперь я хочу что-то вроде этого:
public func indicesOf(x: Int, array: [[Int]]) -> (Int, Int) {
...
}
так что я могу назвать это так:
indicesOf(7, array: a) // returns (2, 0)
Конечно, я могу использовать:
for i in 0..<array.count {
for j in 0..<array[i].count {
if array[i][j] == x {
return (i, j)
}
}
}
Но это даже не близко к быстрому!
Я хочу способ сделать это быстро. Я думаю, что я могу использоватьreduce
или жеmap
?