. 나선형 매트릭스 III
Aug 09, 2024 am 09:18 AM885. 나선형 매트릭스 III
중간
주제: 어레이, 매트릭스, 시뮬레이션
동쪽을 향한 행 x 열 그리드의 셀(rStart, cStart)에서 시작합니다. 북서쪽 모퉁이는 그리드의 첫 번째 행과 열에 있고, 남동쪽 모퉁이는 마지막 행과 열에 있습니다.
시계 방향 나선형으로 걸어가며 이 그리드의 모든 위치를 방문하게 됩니다. 그리드 경계 밖으로 이동할 때마다 그리드 외부로 계속 이동합니다(그러나 나중에 그리드 경계로 돌아갈 수도 있습니다). 결국 우리는 그리드의 모든 행 * 열 공백에 도달합니다.
방문한 순서대로 그리드의 위치를 나타내는 좌표 배열을 반환합니다.
예 1:
- 입력: 행 = 1, 열 = 4, rStart = 0, cStart = 0
- 출력: [[0,0],[0,1],[0,2],[0,3]]
예 2:
- 입력: 행 = 5, 열 = 6, rStart = 1, cStart = 4
- 출력: [[1,4],[1,5],[2,5],[2,4],[2,3],[1,3],[0,3] ,[0,4],[0,5],[3,5],[3,4],[3,3],[3,2],[2,2],[1,2],[ 0,2],[4,5],[4,4],[4,3],[4,2],[4,1],[3,1],[2,1],[1, 1],[0,1],[4,0],[3,0],[2,0],[1,0],[0,0]]
제약조건:
- 1 <= 행, 열 <= 100
- 0 <= rStart < 행
- 0 <= cStart < 열
해결책:
이 문제를 해결하려면 다음 단계를 따르세요.
- 방향 배열: 방향 배열을 사용하여 올바른 순서(동쪽 → 남쪽 → 서쪽 → 북쪽)로 쉽게 이동할 수 있습니다. 각 방향에 따라 행 및 열 인덱스가 변경됩니다.
- 걸음 관리: 각 방향으로 몇 걸음을 걸어야 하는지 제어해야 합니다. 처음에는 동쪽으로 1단계 이동한 다음 남쪽으로 1단계, 서쪽으로 2단계, 북쪽으로 2단계 등으로 이동합니다.
- 경계 확인: 이동할 때마다 새 위치가 그리드 경계 내에 있는지 확인하세요. 그렇다면 결과 배열에 추가하세요.
- 중지 조건: 모든 행 * 열 위치를 방문한 후 루프를 중지합니다.
이 솔루션을 PHP로 구현해 보겠습니다: 885. 나선형 매트릭스 III
<?php // Example Usage: print_r(spiralMatrixIII(1, 4, 0, 0)); // [[0,0],[0,1],[0,2],[0,3]] print_r(spiralMatrixIII(5, 6, 1, 4)); // [[1,4],[1,5],[2,5],[2,4], ...] ?>설명:
- 방향: 방향 배열은 동쪽, 남쪽, 서쪽, 북쪽으로 이동하기 위한 행과 열의 변화를 보유합니다.
- 이동: (rStart, cStart)에서 시작하여 나선형 패턴의 방향에 따라 이동합니다.
- 경계 확인: 위치가 그리드 내에 있는 경우에만 결과에 추가하세요.
- 걸음 제어: stepCount는 회전하기 전에 현재 방향으로 몇 걸음을 이동하는지 관리합니다. 2턴 이후부터 증가합니다.
- 종료: 그리드의 모든 위치를 방문할 때까지 루프가 계속됩니다.
이 접근 방식을 사용하면 필요한 나선형 순서로 그리드의 모든 셀을 방문할 수 있습니다.
연락처 링크
이 시리즈가 도움이 되었다면 GitHub에서 저장소에 별표를 표시하거나 즐겨찾는 소셜 네트워크에서 게시물을 공유해 보세요. 여러분의 지원은 저에게 큰 의미가 될 것입니다!
이런 유용한 콘텐츠를 더 원하시면 저를 팔로우해주세요.
- 링크드인
- 깃허브
위 내용은 . 나선형 매트릭스 III의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

인기 기사

인기 기사

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











PHP의 컬 : REST API에서 PHP Curl Extension 사용 방법

Laravel Back End : Part 2, React가있는 React 앱 구축
