File tree Expand file tree Collapse file tree 1 file changed +57
-0
lines changed Expand file tree Collapse file tree 1 file changed +57
-0
lines changed Original file line number Diff line number Diff line change
1
+ /* *
2
+ * 시간복잡도: O(m × n)
3
+ * 공간복잡도: O(1)
4
+ */
5
+
6
+ class Solution {
7
+ fun setZeroes (matrix : Array <IntArray >): Unit {
8
+ val m = matrix.size
9
+ val n = matrix[0 ].size
10
+
11
+ var firstRowHasZero = false
12
+ var firstColumnHasZero = false
13
+
14
+ for (j in 0 until n) {
15
+ if (matrix[0 ][j] == 0 ) {
16
+ firstRowHasZero = true
17
+ break
18
+ }
19
+ }
20
+
21
+ for (i in 0 until m) {
22
+ if (matrix[i][0 ] == 0 ) {
23
+ firstColumnHasZero = true
24
+ break
25
+ }
26
+ }
27
+
28
+ for (i in 1 until m) {
29
+ for (j in 1 until n) {
30
+ if (matrix[i][j] == 0 ) {
31
+ matrix[i][0 ] = 0
32
+ matrix[0 ][j] = 0
33
+ }
34
+ }
35
+ }
36
+
37
+ for (i in 1 until m) {
38
+ for (j in 1 until n) {
39
+ if (matrix[i][0 ] == 0 || matrix[0 ][j] == 0 ) {
40
+ matrix[i][j] = 0
41
+ }
42
+ }
43
+ }
44
+
45
+ for (j in 0 until n) {
46
+ if (firstRowHasZero) {
47
+ matrix[0 ][j] = 0
48
+ }
49
+ }
50
+
51
+ for (i in 0 until m) {
52
+ if (firstColumnHasZero) {
53
+ matrix[i][0 ] = 0
54
+ }
55
+ }
56
+ }
57
+ }
You can’t perform that action at this time.
0 commit comments