Skip to content

Commit bcd0e26

Browse files
committed
solve problem
1 parent 7d34787 commit bcd0e26

File tree

1 file changed

+61
-0
lines changed

1 file changed

+61
-0
lines changed

set-matrix-zeroes/delight010.swift

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
class Solution {
2+
func setZeroes(_ matrix: inout [[Int]]) {
3+
var firstRowHasZero = false
4+
var firstColHasZero = false
5+
6+
for col in 0..<matrix[0].count {
7+
if matrix[0][col] == 0 {
8+
firstRowHasZero = true
9+
break
10+
}
11+
}
12+
13+
for row in 0..<matrix.count {
14+
if matrix[row][0] == 0 {
15+
firstColHasZero = true
16+
break
17+
}
18+
}
19+
20+
// marking
21+
for row in 0..<matrix.count {
22+
for col in 0..<matrix[row].count {
23+
if matrix[row][col] == 0 {
24+
matrix[row][0] = 0
25+
matrix[0][col] = 0
26+
}
27+
}
28+
}
29+
30+
// row
31+
for row in 1..<matrix.count {
32+
if matrix[row][0] == 0 {
33+
for col in 0..<matrix[row].count {
34+
matrix[row][col] = 0
35+
}
36+
}
37+
}
38+
39+
// column
40+
for col in 1..<matrix[0].count {
41+
if matrix[0][col] == 0 {
42+
for row in 0..<matrix.count {
43+
matrix[row][col] = 0
44+
}
45+
}
46+
}
47+
48+
if firstRowHasZero {
49+
for col in 0..<matrix[0].count {
50+
matrix[0][col] = 0
51+
}
52+
}
53+
54+
if firstColHasZero {
55+
for row in 0..<matrix.count {
56+
matrix[row][0] = 0
57+
}
58+
}
59+
}
60+
}
61+

0 commit comments

Comments
 (0)