Wie kann der Index eines Elements in einem mehrdimensionalen Array schnell gefunden werden?
Sagen wir, ich habe dieses Array:
let a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
Jetzt möchte ich so etwas:
public func indicesOf(x: Int, array: [[Int]]) -> (Int, Int) {
...
}
so dass ich es so nennen kann:
indicesOf(7, array: a) // returns (2, 0)
atürlich kann ich verwenden:
for i in 0..<array.count {
for j in 0..<array[i].count {
if array[i][j] == x {
return (i, j)
}
}
}
Aber das ist nicht mal annähernd so schnell!
Ich möchte einen schnellen Weg, dies zu tun. Ich denke, vielleicht kann ich @ verwendreduce
odermap
?