>웹 프론트엔드 >JS 튜토리얼 >JavaScript 프로그램은 배열을 회전시켜 배열을 늘리거나 줄일 수 있는지 확인합니다.

JavaScript 프로그램은 배열을 회전시켜 배열을 늘리거나 줄일 수 있는지 확인합니다.

王林
王林앞으로
2023-09-02 23:33:071338검색

JavaScript 程序检查是否可以通过旋转数组来增加或减少数组

배열의 회전은 배열이 원형 배열이라고 가정하는 것을 의미합니다. 각 회전은 배열의 요소를 인덱스만큼 왼쪽 또는 오른쪽으로 회전하며 한쪽 끝에 있는 요소는 다른 쪽 끝의 값을 가질 수 있습니다. . 배열이 증가한다는 것은 각 요소가 이전 요소보다 크거나 같다는 것을 의미하고, 배열이 감소한다는 것은 각 요소가 이전 요소보다 작거나 같다는 것을 의미합니다.

이 문제에서는 배열이 주어졌고 배열을 왼쪽이나 오른쪽으로 회전할 수 있으며 특정 회전(0일 수 있음) 후에 배열을 늘리거나 줄일 수 있는지 알아내야 합니다. p>

순진한 방법

이 방법에서는 배열을 회전하고 각 회전마다 현재 배열이 증가하는지 감소하는지 확인합니다.

아래 예에서는 주어진 배열을 회전시켜 늘리거나 줄일 수 있는지 확인합니다. 아래는 입력 및 예상 출력입니다.

입력: arr = [3, 4, 5, 6, 1, 2]

예상 출력: 예

입력: arr = [5, 1, 6, 2, 5, 3]

예상 출력: 아니요

으아악

출력

으아악

위 코드의 시간 복잡도는 O(N*N)이고 공간 복잡도는 O(1)입니다.

효율적인 방법

이전 배열에서는 회전할 때마다 배열이 증가하거나 감소하는지 확인했다면, 이번 방법에서는 배열의 증가 또는 감소를 부분적으로 확인하겠습니다.

으아악

출력

으아악

위 코드의 시간 복잡도는 O(N)이고 공간 복잡도는 O(1)입니다.

결론

이 튜토리얼에서는 주어진 배열을 회전하여 늘리거나 줄일 수 있는지 확인하는 JavaScript 프로그램을 구현했습니다. 우리는 시간 복잡도 O(N*N)과 O(N), 공간 복잡도 둘 다 O(1)의 두 가지 방법을 구현했습니다.

위 내용은 JavaScript 프로그램은 배열을 회전시켜 배열을 늘리거나 줄일 수 있는지 확인합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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