>  기사  >  웹 프론트엔드  >  주어진 숫자의 모든 회전이 주어진 숫자보다 크거나 같은지 확인하는 JavaScript 프로그램

주어진 숫자의 모든 회전이 주어진 숫자보다 크거나 같은지 확인하는 JavaScript 프로그램

WBOY
WBOY앞으로
2023-09-08 17:49:081549검색

JavaScript 程序检查给定数字的所有旋转是否大于或等于给定数字

이 글에서는 JavaScript 프로그램을 사용하여 주어진 숫자의 모든 회전이 주어진 숫자보다 크거나 같은지 확인합니다. 우리는 알고리즘을 작성하고 우리가 수행하는 각 단계를 설명할 것입니다. 논의될 코드의 시간 복잡도는 낙관적인 반면, 공간 복잡도는 한 코드에서 다른 코드로 향상됩니다.

문제 소개

이 질문에서는 숫자가 주어지며 모든 회전이 현재 숫자보다 큰지 확인해야 합니다. 또는 단순히 현재 숫자보다 작은 현재 숫자의 회전을 찾아야 하며 회전에 더 작은 숫자가 있는지 확인해야 합니다. 회전하면 false를 반환하고, 그렇지 않으면 true를 반환합니다.

주어진 숫자의 회전

특정 숫자의 회전은 시계 방향 또는 시계 반대 방향의 두 가지 유형이 될 수 있습니다. 시계 방향 회전에서는 숫자의 마지막 숫자를 가져와 첫 번째 숫자 앞에 추가합니다. 예를 들어 -

으아아아

위 코드에는 숫자가 주어졌으며 주어진 숫자의 첫 번째 회전을 찾아야 합니다. 먼저, 현재 숫자의 마지막 숫자를 다른 변수에 저장한 다음, 주어진 숫자의 마지막 숫자를 10으로 나누어 경계를 취하여 제거합니다.

마지막으로 마지막 숫자 뒤에 현재 숫자를 추가하여 첫 번째 회전을 제공합니다.

다음 스핀이나 현재 숫자의 두 번째 스핀을 얻으려면 첫 번째 스핀의 다음 스핀을 얻거나 모든 스핀에 공통적인 다른 방법으로 이를 수행할 수도 있습니다. 코드를 통해 살펴보겠습니다.

으아아아

위 코드에는 숫자가 주어지고 주어진 숫자의 i번째 회전을 찾아야 합니다. 먼저, 현재 숫자의 마지막 "i" 숫자를 다른 변수에 저장합니다.

마지막으로 마지막 "i" 숫자가 포함된 문자열에 현재 숫자를 추가하여 첫 번째 회전을 제공합니다.

위에서 설명한 방법은 숫자를 시계 방향으로 회전시키는 것이고 시계 반대 방향으로 회전하려면 앞에서 숫자를 선택하여 끝에 추가해야 합니다.

어떤 회전을 선택해야 하는지 명시되지 않은 경우 시계 방향을 선택합니다. 따라서 이 예에서는 시계 방향 회전을 볼 수 있습니다.

방법

이 방법은 무차별 대입 방법입니다. 이 방법에서는 주어진 숫자의 모든 스핀을 찾고 더 높은 숫자를 모두 확인합니다. 현재 숫자보다 작은 숫자를 찾으면 false를 반환하고 그렇지 않으면 true를 반환합니다.

우선 코드를 살펴보고 코드 설명으로 넘어가겠습니다 -

으아아아

위 프로그램에서는 먼저 for 루프에서 1부터 숫자 빼기 1의 크기까지 반복하여 1에서 크기 빼기 1까지 각 회전을 얻습니다. 각 반복에서 미리 정의된 함수를 호출합니다.

함수에서 우리는 함수에 인수로 전달되고 주어진 숫자와 비교되는 i번째 회전을 얻습니다. i번째 회전이 주어진 숫자보다 작으면 false를 반환 값으로 반환하고, 그렇지 않으면 true를 반환합니다.

함수에서 반환된 true 및 false 값을 저장하고 필요에 따라 답변을 인쇄하는 Answer라는 변수를 유지 관리합니다.

시간과 공간의 복잡성

위 코드에서는 check() 함수를 총 n번 호출했습니다. 여기서 n은 주어진 숫자의 크기입니다. 함수 내에서 주어진 숫자의 복사본인 하위 문자열을 만들고 n번 반복합니다. 즉, n*n번 사용한다는 의미입니다. 따라서 주어진 함수의 시간 복잡도는 O(N*N)입니다.

확인 기능에서 주어진 숫자의 복사본을 만들 때마다 추가로 N개의 공백을 사용한다는 의미입니다. 따라서 주어진 함수의 공간 복잡도는 O(N)입니다.

일반 아이디어

위 코드에서 모든 숫자가 다른 경우 O(N) 시간 복잡도와 O(1) 공간 복잡도로 답을 얻을 수 있습니다. 초기 숫자에 비해 정확한 회전에서 숫자가 줄어들 가능성이 있습니다.

결론

이 튜토리얼에서는 JavaScript 프로그램을 사용하여 주어진 숫자의 모든 회전이 주어진 숫자보다 크거나 같은지 확인합니다. 프로그램의 시간 복잡도는 O(N*N)이고 공간 복잡도는 O(N)입니다. 여기서 N은 주어진 숫자의 크기입니다. 우리는 주어진 숫자의 모든 회전을 찾아 원래 숫자와 비교할 수 있는 프로그램을 구현했습니다.

위 내용은 주어진 숫자의 모든 회전이 주어진 숫자보다 크거나 같은지 확인하는 JavaScript 프로그램의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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