Skip to content

Commit d9657b3

Browse files
committed
Add JavaScriptTransposeMatrix.md
1 parent 2bf0fd0 commit d9657b3

File tree

1 file changed

+61
-0
lines changed

1 file changed

+61
-0
lines changed

JavaScriptTransposeMatrix.md

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
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+
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`let result = [];`
38+
<br/>
39+
<br/>
40+
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`for(let i= 0; i<A[0].length; i++){`
41+
<br/>
42+
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`let currentColumn = [];`
43+
<br/>
44+
<br/>
45+
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`for(let j=0; j<A.length; j++){`
46+
<br/>
47+
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`currentColumn.push(A[j][i]);`
48+
<br/>
49+
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`}`
50+
<br/>
51+
<br/>
52+
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`result.push(currentColumn);`
53+
<br/>
54+
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`}`
55+
<br/>
56+
<br/>
57+
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`return result;`
58+
<br/>
59+
`};`
60+
<br/>
61+
<br/>

0 commit comments

Comments
 (0)