[리트코드] 0885. 나선형 매트릭스 III

Python, C++, JavaScript, SQL 및 TypeScript의 다양한 LeetCode 솔루션을 살펴보세요. 여러 프로그래밍 언어로 인터뷰 준비, 학습 및 코드 연습에 적합합니다. Github 레포 링크

당신은 세포에서 시작합니다 (r시작, c시작) ~의 행 x 열 동쪽을 향한 그리드는 그리드의 첫 번째 행과 열에 있고 남동쪽 코너는 마지막 행과 열에 있습니다.

이 그리드의 모든 위치를 방문하기 위해 시계 방향 나선형으로 걷게 됩니다. 그리드 경계 밖으로 이동할 때마다 우리는 그리드 외부로 계속 이동합니다(그러나 나중에 그리드 경계로 돌아갈 수 있습니다.). 행 * 열 그리드의 공백.

반품 방문한 순서대로 그리드의 위치를 나타내는 좌표 배열.

 

파이썬

				
					# 시간 복잡도: O(n^2) # 공간 복잡도: O(n^2) 입력 가져오기 목록 클래스 솔루션: def 나선형MatrixIII(self, 행: int, cols: int, rStart: int, cStart: int) -> List[List[int]]: dirMap = [[0, 1], [1, 0], [0, -1], [-1, 0]] traverse = [] 방향 = 0 step = 1 while len( traverse) < 행 * cols: for _ in range(2): for _ in range(단계): if (rStart < 행 및 cStart < cols and rStart >= 0 and cStart >= 0): traverse.append([rStart , cStart]) rStart += dirMap[direction][0] cStart += dirMap[direction][1] 방향 = (방향 + 1) % 4 단계 += 1 트래버스 행 반환 = 5 cols = 6 rStart = 1 cStart = 4 print(Solution().spiralMatrixIII(rows, cols, rStart, cStart))
				
			
ko_KR한국어