Python、C++、JavaScript、SQL、TypeScript の多様な LeetCode ソリューションを探索してください。面接の準備、学習、複数のプログラミング言語でのコードの練習に最適です。 Github リポジトリ リンク
あなたは ネクス
2D マトリックス
画像を表すには、画像を回転させて 90 度(時計回り)。
画像を回転させる必要がある インプレースつまり、入力 2D 行列を直接変更する必要があります。 しないでください 別の 2D 行列を割り当てて回転を実行します。
例 1:
入力: 行列 = [[1,2,3],[4,5,6],[7,8,9]] 出力: [[7,4,1],[8,5,2],[9,6,3]]
例 2:
入力: 行列 = [[5,1,9,11],[2,4,8,10],[13,3,6,7],[15,14,12,16]] 出力: [[15,13,2,5],[14,3,4,1],[12,6,8,9],[16,7,10,11]]
制約:
n == 行列の長さ == 行列[i]の長さ
1 <= n <= 20
-1000 <= 行列[i][j] <= 1000
目次
トグルパイソン
入力から import List # 時間計算量: O(n^2) # 空間計算量: O(n^2) クラス ソリューション: def rotate(self, matrix: List[List[int]]) -> None: ROW = len(行列) COL = len(matrix[0]) newMatrix = [[0 for _ in range(COL)] for _ in range(ROW)] for r in range(ROW): for c in range(COL): newMatrix[ c][ROW - r - 1] = matrix[r][c] return # 時間計算量: O(n^2) # 空間計算量: O(1) クラス ソリューション: def rotate(self, matrix: List[List[ int]]) -> None: n = len(matrix) for r in range(n // 2): for c in range(r, n - r - 1): matrix[r][c], matrix[c ][n-1-r] = 行列[c][n-1-r]、行列[r][c] 行列[r][c]、行列[n-1-r][n-1 - c ] = 行列[n-1-r][n-1-c]、行列[r][c] 行列[r][c]、行列[n-1-c][r] = 行列[n-1 -c][r], matrix[r][c] 行列を返す matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] print(Solution().rotate (行列)) 行列 = [[5, 1, 9, 11], [2, 4, 8, 10], [13, 3, 6, 7], [15, 14, 12, 16]] print(解答().rotate(行列))