840. 그리드의 마법 사각형
중간
주제: 배열, 해시 테이블, 수학, 행렬
3 x 3 마방진은 각 행, 열 및 양쪽 대각선이 1 에서 9까지의 고유한 숫자로 채워진 3 x 3 격자입니다. 모두 같은 금액을 가집니다.
정수로 구성된 행 x 열 그리드가 주어지면 연속된 3 x 3 마방진 하위 그리드는 몇 개입니까?
참고: 마방진에는 1부터 9까지의 숫자만 포함될 수 있지만 그리드에는 최대 15의 숫자가 포함될 수 있습니다.
예 1:
이것은 아니지만:
전체적으로 주어진 격자 안에는 마방진이 하나만 있습니다.
예 2:
제약조건:
해결책:
주어진 그리드에서 얼마나 많은 3x3 연속 하위 그리드가 마방진을 형성하는지 계산해야 합니다. 마방진은 모든 행, 열 및 두 대각선의 합이 동일한 값을 갖는 3x3 격자로, 1부터 9까지의 고유한 숫자를 포함합니다.
이 문제를 해결하려면 다음 단계를 따르세요.
서브그리드가 매직인지 확인:
그리드를 통해 반복:
이 솔루션을 PHP로 구현해 보겠습니다: 840. 그리드의 마법 사각형
설명:
isMagic 기능:
- 3x3 서브그리드를 추출합니다.
- 모든 숫자가 고유하고 1에서 9 사이인지 확인합니다.
- 행, 열, 대각선의 합이 모두 15인지 확인합니다.
numMagicSquaresInside 함수:
- 주어진 그리드에서 가능한 모든 3x3 하위 그리드를 반복합니다.
- 하위 그리드 중 마방진이 몇 개인지 계산합니다.
이 코드는 제약 조건 내에서 효율적으로 작동하며 주어진 그리드에 있는 모든 3x3 마방진 하위 그리드를 계산합니다.
연락처 링크
이 시리즈가 도움이 되었다면 GitHub에서 저장소에 별표를 표시하거나 즐겨찾는 소셜 네트워크에서 게시물을 공유해 보세요. 여러분의 지원은 저에게 큰 의미가 될 것입니다!
이렇게 더 유용한 콘텐츠를 원하시면 저를 팔로우해주세요.
위 내용은 . 그리드의 마법 사각형의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!