Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit cf88375

Browse files
feat: add typescript solution to lc problem: No.0073.Set Matrix Zeroes
1 parent 43bb7e9 commit cf88375

File tree

3 files changed

+154
-0
lines changed

3 files changed

+154
-0
lines changed

‎solution/0000-0099/0073.Set Matrix Zeroes/README.md‎

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,59 @@ class Solution {
197197
}
198198
```
199199

200+
### **TypeScript**
201+
202+
```ts
203+
/**
204+
Do not return anything, modify matrix in-place instead.
205+
*/
206+
function setZeroes(matrix: number[][]): void {
207+
let m = matrix.length, n = matrix[0].length;
208+
let c0 = false, r0 = false;
209+
// 遍历第一行
210+
for (let i = 0; i < m; i++) {
211+
if (!matrix[i][0] && !c0) {
212+
c0 = true;
213+
}
214+
}
215+
// 第一列
216+
for (let j = 0; j < n; j++) {
217+
if (!matrix[0][j] && !r0) {
218+
r0 = true;
219+
}
220+
}
221+
// 用第一行、第一列标记全部
222+
for (let i = 1; i < m; i++) {
223+
for (let j = 1; j < n; j++) {
224+
if (!matrix[i][j]) {
225+
matrix[i][0] = 0;
226+
matrix[0][j] = 0;
227+
}
228+
}
229+
}
230+
// set
231+
for (let i = 1; i < m; i++) {
232+
for (let j = 1; j < n; j++) {
233+
if (!matrix[i][0] || !matrix[0][j]) {
234+
matrix[i][j] = 0;
235+
}
236+
}
237+
}
238+
// set 第一列
239+
if (c0) {
240+
for (let i = 0; i < m; i++) {
241+
matrix[i][0] = 0;
242+
}
243+
}
244+
// 第一行
245+
if (r0) {
246+
for (let j = 0; j < n; j++) {
247+
matrix[0][j] = 0;
248+
}
249+
}
250+
};
251+
```
252+
200253
### **C++**
201254

202255
```cpp

‎solution/0000-0099/0073.Set Matrix Zeroes/README_EN.md‎

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,59 @@ class Solution {
174174
}
175175
```
176176

177+
### **TypeScript**
178+
179+
```ts
180+
/**
181+
Do not return anything, modify matrix in-place instead.
182+
*/
183+
function setZeroes(matrix: number[][]): void {
184+
let m = matrix.length, n = matrix[0].length;
185+
let c0 = false, r0 = false;
186+
// 遍历第一行
187+
for (let i = 0; i < m; i++) {
188+
if (!matrix[i][0] && !c0) {
189+
c0 = true;
190+
}
191+
}
192+
// 第一列
193+
for (let j = 0; j < n; j++) {
194+
if (!matrix[0][j] && !r0) {
195+
r0 = true;
196+
}
197+
}
198+
// 用第一行、第一列标记全部
199+
for (let i = 1; i < m; i++) {
200+
for (let j = 1; j < n; j++) {
201+
if (!matrix[i][j]) {
202+
matrix[i][0] = 0;
203+
matrix[0][j] = 0;
204+
}
205+
}
206+
}
207+
// set
208+
for (let i = 1; i < m; i++) {
209+
for (let j = 1; j < n; j++) {
210+
if (!matrix[i][0] || !matrix[0][j]) {
211+
matrix[i][j] = 0;
212+
}
213+
}
214+
}
215+
// set 第一列
216+
if (c0) {
217+
for (let i = 0; i < m; i++) {
218+
matrix[i][0] = 0;
219+
}
220+
}
221+
// 第一行
222+
if (r0) {
223+
for (let j = 0; j < n; j++) {
224+
matrix[0][j] = 0;
225+
}
226+
}
227+
};
228+
```
229+
177230
### **C++**
178231

179232
```cpp
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
/**
2+
Do not return anything, modify matrix in-place instead.
3+
*/
4+
function setZeroes(matrix: number[][]): void {
5+
let m = matrix.length, n = matrix[0].length;
6+
let c0 = false, r0 = false;
7+
// 遍历第一行
8+
for (let i = 0; i < m; i++) {
9+
if (!matrix[i][0] && !c0) {
10+
c0 = true;
11+
}
12+
}
13+
// 第一列
14+
for (let j = 0; j < n; j++) {
15+
if (!matrix[0][j] && !r0) {
16+
r0 = true;
17+
}
18+
}
19+
// 用第一行、第一列标记全部
20+
for (let i = 1; i < m; i++) {
21+
for (let j = 1; j < n; j++) {
22+
if (!matrix[i][j]) {
23+
matrix[i][0] = 0;
24+
matrix[0][j] = 0;
25+
}
26+
}
27+
}
28+
// set
29+
for (let i = 1; i < m; i++) {
30+
for (let j = 1; j < n; j++) {
31+
if (!matrix[i][0] || !matrix[0][j]) {
32+
matrix[i][j] = 0;
33+
}
34+
}
35+
}
36+
// set 第一列
37+
if (c0) {
38+
for (let i = 0; i < m; i++) {
39+
matrix[i][0] = 0;
40+
}
41+
}
42+
// 第一行
43+
if (r0) {
44+
for (let j = 0; j < n; j++) {
45+
matrix[0][j] = 0;
46+
}
47+
}
48+
};

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /