>  기사  >  웹 프론트엔드  >  행렬을 오른쪽으로 K번 회전하는 JavaScript 프로그램

행렬을 오른쪽으로 K번 회전하는 JavaScript 프로그램

王林
王林앞으로
2023-08-24 22:09:061421검색

将矩阵向右旋转 K 次的 JavaScript 程序

"행렬의 오른쪽 회전"이라는 용어는 행렬의 각 열을 오른쪽으로 이동하는 것을 의미합니다. 지정하면 이 작업이 "k"번 반복됩니다. 즉, "k"번 발생하는 행렬의 오른쪽 이동입니다. 이 프로그램은 다양한 프로그래밍 언어를 사용하여 구현할 수 있지만 간단하면서도 효과적인 방법은 JavaScript를 사용하여 행렬을 k번 오른쪽으로 회전시키는 것을 고려하는 것입니다.

행렬을 K번 오른쪽으로 회전하는 방법은 무엇입니까?

행렬을 k번 오른쪽으로 회전시키는 것은 간단합니다. 이는 행렬의 각 열을 오른쪽으로 k번 이동하는 것을 포함합니다. 이를 입증하기 위해 행렬에서 수동으로 오른쪽 회전을 k번 수행하는 예를 수행합니다.

크기가 N*M이고 숫자가 K인 행렬을 생각해 보겠습니다. 행렬을 오른쪽으로 k번 회전해야 합니다.

Input matrix: N = 4, M = 4, K = 3
1 2 3 4 
6 7 8 9 
0 9 8 7 
5 4 3 2 
Output matrix:
4 1 2 3
9 6 7 8
7 0 9 8
2 5 4 3

method

k개의 정확한 회전을 수행하는 과정은 이해하기 쉬워 보이지만 구현하기는 다소 어려울 수 있습니다. 이 방법에는 행 i의 각 열 요소를 최대 m-k까지 임시 배열로 복사하는 작업이 포함됩니다. 그런 다음 k부터 행 i의 끝 부분까지 요소를 처음으로 이동합니다. 마지막으로 임시 배열의 요소를 행렬의 각 i 행 끝에 다시 복사합니다.

우리가 사용할 메소드의 알고리즘을 살펴보겠습니다.

우회전 행렬 K번 알고리즘

1단계 - 행렬의 행과 열 수를 결정합니다.

2단계 - k 값을 기준으로 각 행을 이동해야 하는 횟수를 계산합니다. 이는 모듈로 연산자(%)를 사용하여 수행할 수 있습니다.

3단계 - 행렬의 각 행에 대해 이동해야 하는 요소가 포함된 새 배열을 만듭니다.

4단계 - splice() 메서드를 사용하여 원래 행에서 이동된 요소를 제거하고 새 행의 시작 부분에 추가합니다.

5단계 - 원래 행을 새 행으로 설정합니다.

6단계 - 행렬의 각 행에 대해 3~5단계를 반복합니다.

이 프로그램에서는 displayMatrix()와 RotateMatrixRight()라는 두 가지 정적 메서드가 있는 MatrixRotation 클래스를 정의합니다.

displayMatrix() 메서드는 행렬을 입력으로 받아 콘솔에 표시합니다. for 루프를 사용하여 행렬의 각 행을 반복하고 이를 콘솔에 기록합니다.

rotateMatrixRight() 메서드는 행렬과 숫자 k를 입력으로 사용하고 오른쪽으로 k 위치 회전된 새 행렬을 반환합니다. 이전 답변과 동일한 알고리즘을 사용하여 회전을 수행합니다.

예제 사용 코드에서는 입력 행렬과 k 값을 정의한 다음,rotateMatrixRight() 메서드를 호출하여 회전을 수행합니다. displayMatrix() 메소드를 사용하여 입력 및 출력 행렬을 표시합니다.

으아악

결론

JavaScript의 몇 가지 간단한 단계를 사용하여 행렬을 오른쪽으로 k번 회전합니다. 첫 번째 단계는 행렬의 행과 열 수를 결정하는 것입니다. 다음 단계는 k 값을 기준으로 각 행을 오른쪽으로 이동해야 하는 횟수를 계산하는 것입니다. 이동 횟수가 결정되면 프로그램은 행렬의 각 행을 반복하고, 원래 행에서 이동된 요소를 포함하는 새 배열을 만들고, 이동된 요소로 원래 행을 업데이트할 수 있습니다. 다음 단계를 수행하면 JavaScript에서 행렬을 오른쪽으로 k번 회전할 수 있습니다.

위 내용은 행렬을 오른쪽으로 K번 회전하는 JavaScript 프로그램의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제