File tree Expand file tree Collapse file tree 1 file changed +30
-0
lines changed Expand file tree Collapse file tree 1 file changed +30
-0
lines changed Original file line number Diff line number Diff line change 1+ # https://leetcode.com/problems/rotate-image/
2+
3+ from typing import List
4+
5+ class Solution :
6+ def rotate (self , matrix : List [List [int ]]) -> None :
7+ """
8+ Do not return anything, modify matrix in-place instead.
9+ """
10+ """
11+ [Complexity]
12+ - TC: O(n^2) (diagonal = n * (n - 1) / 2)
13+ - SC: O(1)
14+
15+ [Approach]
16+ clockwise rotation을 in-place로 하려면 다음의 순서로 수행한다.
17+ 1. matrix reverse (by row)
18+ 2. matrix transpose (diagonal)
19+ """
20+
21+ n = len (matrix )
22+
23+ # 1. matrix reverse (by row)
24+ for r in range (n // 2 ):
25+ matrix [r ], matrix [n - r - 1 ] = matrix [n - r - 1 ], matrix [r ]
26+
27+ # 2. matrix transpose (diagonal)
28+ for r in range (n ):
29+ for c in range (r ):
30+ matrix [r ][c ], matrix [c ][r ] = matrix [c ][r ], matrix [r ][c ]
You can’t perform that action at this time.
0 commit comments