File tree Expand file tree Collapse file tree 1 file changed +40
-3
lines changed
Expand file tree Collapse file tree 1 file changed +40
-3
lines changed Original file line number Diff line number Diff line change 77
88Time Complexity: O(m*n)
99- m은 행, n은 열을 의미
10- - 0 찾기 - O(m*n)
11- - 행과 열 변환 - O(m*n)
10+ - 0 찾기: O(m*n)
11+ - 행과 열 변환: O(m*n)
1212
1313Space Complexity: O(m*n)
1414- zeros 배열이 최대 m*n 크기까지 저장 가능
1515
1616풀이 방법:
17171. 0 위치 저장
18182. 저장된 0의 행과 열을 모두 0으로 변환
19- 3. 주의점 - 행렬 값 탐색과 변경을 동시에 수행하면 원래 어떤 값이 0이었는지 구분하기 어려워짐
19+ 3. 주의점: 행렬 값 탐색과 변경을 동시에 수행하면 원래 어떤 값이 0이었는지 구분하기 어려워짐
2020"""
2121
2222class Solution :
@@ -36,3 +36,40 @@ def setZeroes(self, matrix: List[List[int]]) -> None:
3636 matrix [r ][i ] = 0
3737 for i in range (len (matrix )):
3838 matrix [i ][c ] = 0
39+
40+ """
41+ Time Complexity: O(m*n)
42+ - 행렬 순회: O(m*n)
43+ - 행과 열 변환: O(m*n)
44+
45+ Space Complexity: O(m+n)
46+ - zero_rows: O(m)
47+ - zero_cols: O(n)
48+
49+ 풀이 방법:
50+ 1. set 자료구조를 활용하여 중복 제거
51+ 2. 행과 열 정보를 분리 저장하여 메모리를 효율적으로 사용
52+ 3. 행과 열을 독립적으로 처리하여 불필요한 반복 연산 제거
53+ """
54+
55+ class Solution :
56+ def setZeroes (self , matrix : List [List [int ]]) -> None :
57+ """
58+ Do not return anything, modify matrix in-place instead.
59+ """
60+ zero_rows = set ()
61+ zero_cols = set ()
62+
63+ for r in range (len (matrix )):
64+ for c in range (len (matrix [0 ])):
65+ if matrix [r ][c ] == 0 :
66+ zero_rows .add (r )
67+ zero_cols .add (c )
68+
69+ for r in zero_rows :
70+ for i in range (len (matrix [0 ])):
71+ matrix [r ][i ] = 0
72+
73+ for c in zero_cols :
74+ for i in range (len (matrix )):
75+ matrix [i ][c ] = 0
You can’t perform that action at this time.
0 commit comments