Another short solution for this easy LC problem.
class Solution {
fun transpose(A: Array<IntArray>): Array<IntArray> {
val rowSize = A.size
val colSize = A[0].size
var result = Array(colSize, init = { IntArray(rowSize) {0} })
(0 until colSize).forEach { row ->
(0 until rowSize).forEach { column ->
result[row][column] = A[column][row]
}
}
return result
}
}
Runtime: 204 ms, faster than 89.47% of Kotlin online submissions for Transpose Matrix.
Memory Usage: 38.2 MB, less than 100.00% of Kotlin online submissions for Transpose Matrix.
We’re going to loop through all matrix elements and just simply assign each (row, column) pair to (column, pair) element in a new matrix.