|
| 1 | +# JavaScript Transpose Matrix |
| 2 | + |
| 3 | +## Challenge: |
| 4 | + |
| 5 | +Given a 2D integer array `matrix`, return the transpose of `matrix`. |
| 6 | + |
| 7 | +The transpose of a matrix is the matrix flipped over its main diagonal, switching the matrix's row and column indices. |
| 8 | + |
| 9 | +### 1<sup>st</sup> Example: |
| 10 | + |
| 11 | +`Input: matrix = [[1,2,3],[4,5,6],[7,8,9]]` |
| 12 | +<br/> |
| 13 | +`Output: [[1,4,7],[2,5,8],[3,6,9]]` |
| 14 | + |
| 15 | +### 2<sup>nd</sup> Example: |
| 16 | + |
| 17 | +`Input: matrix = [[1,2,3],[4,5,6]]` |
| 18 | +<br/> |
| 19 | +`Output: [[1,4],[2,5],[3,6]]` |
| 20 | + |
| 21 | +### Constraints: |
| 22 | + |
| 23 | +`m == matrix.length` |
| 24 | +<br/> |
| 25 | +`n == matrix[i].length` |
| 26 | +<br/> |
| 27 | +`1 <= m, n <= 1000` |
| 28 | +<br/> |
| 29 | +`1 <= m * n <= 10⁵` |
| 30 | +<br/> |
| 31 | +`-10⁹ <= matrix[i][j] <= 10⁹` |
| 32 | + |
| 33 | +## Solution: |
| 34 | + |
| 35 | +`const transpose = (A) => {` |
| 36 | +<br/> |
| 37 | + `let result = [];` |
| 38 | +<br/> |
| 39 | +<br/> |
| 40 | + `for(let i= 0; i<A[0].length; i++){` |
| 41 | +<br/> |
| 42 | + `let currentColumn = [];` |
| 43 | +<br/> |
| 44 | +<br/> |
| 45 | + `for(let j=0; j<A.length; j++){` |
| 46 | +<br/> |
| 47 | + `currentColumn.push(A[j][i]);` |
| 48 | +<br/> |
| 49 | + `}` |
| 50 | +<br/> |
| 51 | +<br/> |
| 52 | + `result.push(currentColumn);` |
| 53 | +<br/> |
| 54 | + `}` |
| 55 | +<br/> |
| 56 | +<br/> |
| 57 | + `return result;` |
| 58 | +<br/> |
| 59 | +`};` |
| 60 | +<br/> |
| 61 | +<br/> |
0 commit comments