Skip to content

Commit ea296d6

Browse files
authored
feat: add typescript solution to lc problem: No.0566.Reshape the Matrix (doocs#504)
1 parent 9ff9d56 commit ea296d6

File tree

3 files changed

+49
-0
lines changed

3 files changed

+49
-0
lines changed

solution/0500-0599/0566.Reshape the Matrix/README.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,24 @@ class Solution {
9191
}
9292
```
9393

94+
### **TypeScript**
95+
96+
```ts
97+
function matrixReshape(mat: number[][], r: number, c: number): number[][] {
98+
let m = mat.length, n = mat[0].length;
99+
if (m * n != r * c) return mat;
100+
let ans = Array.from({length: r}, v => new Array(c).fill(0));
101+
let k = 0;
102+
for (let i = 0; i < m; ++i) {
103+
for (let j = 0; j < n; ++j) {
104+
ans[Math.floor(k / c)][k % c] = mat[i][j];
105+
++k;
106+
}
107+
}
108+
return ans;
109+
};
110+
```
111+
94112
### **...**
95113

96114
```

solution/0500-0599/0566.Reshape the Matrix/README_EN.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,24 @@ class Solution {
130130
}
131131
```
132132

133+
### **TypeScrpt**
134+
135+
```ts
136+
function matrixReshape(mat: number[][], r: number, c: number): number[][] {
137+
let m = mat.length, n = mat[0].length;
138+
if (m * n != r * c) return mat;
139+
let ans = Array.from({length: r}, v => new Array(c).fill(0));
140+
let k = 0;
141+
for (let i = 0; i < m; ++i) {
142+
for (let j = 0; j < n; ++j) {
143+
ans[Math.floor(k / c)][k % c] = mat[i][j];
144+
++k;
145+
}
146+
}
147+
return ans;
148+
};
149+
```
150+
133151
### **...**
134152

135153
```
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
function matrixReshape(mat: number[][], r: number, c: number): number[][] {
2+
let m = mat.length, n = mat[0].length;
3+
if (m * n != r * c) return mat;
4+
let ans = Array.from({length: r}, v => new Array(c).fill(0));
5+
let k = 0;
6+
for (let i = 0; i < m; ++i) {
7+
for (let j = 0; j < n; ++j) {
8+
ans[Math.floor(k / c)][k % c] = mat[i][j];
9+
++k;
10+
}
11+
}
12+
return ans;
13+
};

0 commit comments

Comments
 (0)