[リートコード] 0054. スパイラルマトリックス

Python、C++、JavaScript、SQL、TypeScript の多様な LeetCode ソリューションを探索してください。面接の準備、学習、複数のプログラミング言語でのコードの練習に最適です。 Github リポジトリ リンク

与えられた xn マトリックス、 戻る のすべての要素 マトリックス 螺旋状の順番で.

 

例 1:

入力: 行列 = [[1,2,3],[4,5,6],[7,8,9]]
出力: [1,2,3,6,9,8,7,4,5]

例 2:

入力: 行列 = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]
出力: [1,2,3,4,8,12,11,10,9,5,6,7]

 

制約:

  • m == 行列.長さ
  • n == 行列[i].length
  • 1 <= m、n <= 10
  • -100 <= 行列[i][j] <= 100

パイソン

				
					# 時間計算量: O(m*n) # 空間計算量: import リスト クラスの入力による O(1) 解: def spiralOrder(self,行列: List[List[int]]) -> List[int]: ROW = len (行列) COL = len(matrix[0]) 方向 = 1 行 = 0 列 = -1 結果 = [] ROW > 0 および COL > 0 の場合: for _ in range(COL):col += 方向 result.append (matrix[row][col]) ROW -= 1 for _ in range(ROW): row += 方向 result.append(matrix[row][col]) COL -= 1 方向 *= -1 結果行列 = を返します。 [[1, 2, 3], [4, 5, 6], [7, 8, 9]] print(Solution().spiralOrder(matrix)) 行列 = [[1, 2, 3, 4], [ 5、6、7、8]、[9、10、11、12]] print(Solution().spiralOrder(matrix))
				
			
ja日本語