>  기사  >  웹 프론트엔드  >  이진 문자열에서 임의 루프의 시작과 끝에 배치된 연속 0의 최대 수를 찾는 JavaScript 프로그램

이진 문자열에서 임의 루프의 시작과 끝에 배치된 연속 0의 최대 수를 찾는 JavaScript 프로그램

WBOY
WBOY앞으로
2023-09-01 20:33:021359검색

JavaScript 程序查找二进制字符串任意循环中在开头和结尾处连续放置的 0 的最大数量

바이너리 문자열의 루프 시작과 끝에 연속적으로 배치되는 최대 0개 수를 찾는 JavaScript 프로그램을 작성하겠습니다. 우리 프로그램은 이진 문자열을 입력으로 사용하고 주어진 문자열의 회전에서 시작과 끝 부분에 배치된 최대 0 수를 반환합니다. 이 문제를 해결하기 위해 문자열 조작 기술을 사용하여 입력 문자열을 조작하고 원하는 출력을 찾습니다.

다음 단계에서는 입력 문자열을 회전하고 회전된 문자열의 시작과 끝에서 0의 개수를 계산해 보겠습니다. 원래 입력 문자열에 다시 도달할 때까지 문자열을 계속 회전하고 모든 회전 중에 시작과 끝 부분에 배치된 최대 0 수를 추적합니다.

마지막으로 최대 0 개수를 프로그램 출력으로 반환합니다. 이 프로그램은 매우 효율적이며 선형 시간 복잡도로 실행되므로 대규모 입력에 대해서도 이 문제를 해결하는 데 적합합니다.

방법

이진 문자열 회전의 시작과 끝 부분에 연속적으로 배치된 0의 최대 개수를 찾으려면 다음 단계를 따르세요.

  • 먼저 원래 바이너리 문자열을 자체적으로 연결하여 새 문자열을 형성합니다.

  • 다음으로, 루프를 사용하여 각 반복마다 새 문자열의 처음부터 끝까지 한 문자를 이동하여 이진 문자열의 가능한 모든 회전을 생성합니다.

  • 각 회전마다 문자열의 시작과 끝 부분에 연속적으로 배치된 0의 개수를 찾습니다.

  • 지금까지 찾은 가장 큰 수의 0을 변수에 저장합니다.

  • 모든 회전이 처리될 때까지 3단계와 4단계를 반복하세요.

  • 변수에 저장된 최종 값은 이진 문자열의 루프에서 시작과 끝 부분에 연속적으로 배치되는 최대 0 개수입니다.

다음은 이진 문자열 회전의 시작과 끝에 연속적으로 배치된 최대 0 수를 찾는 JavaScript 프로그램의 예입니다. -

으아악

지침

  • 함수 maxZeros는 이진 문자열을 입력으로 사용하고 해당 문자열의 회전 시작과 끝에 연속적으로 배치된 0의 최대 개수를 반환합니다.

  • 첫 번째 단계는 원래 이진 문자열에서 0의 개수를 찾는 것입니다. 이는 0이 아닌 문자를 만날 때까지 계속되는 while 루프를 사용하여 수행됩니다. 0의 개수는 originalZeros 변수에 저장됩니다.

  • 다음 단계는 루프를 통과할 때마다 이진 문자열에서 0의 개수를 찾는 것입니다. 이를 위해 1부터 시작하여 이진 문자열 길이까지 for 루프를 사용합니다. 루프를 반복할 때마다 현재 문자가 0인지 확인합니다. 그렇다면 rotatedZeros 개수를 늘립니다. 그렇지 않은 경우 rotatedZeros 개수를 0으로 재설정합니다. 마지막으로 rotatedZerosmaxZeros 를 비교하여 지금까지 본 최대 0 수를 업데이트합니다. >둘 중 더 큰 것을 유지하세요.

  • 루프가 끝난 후 최대 0 개수를 반환합니다.

  • 마지막으로 함수 사용 예에서는 바이너리 문자열을 사용하여 함수를 호출하고 결과를 콘솔에 기록하는 방법을 보여줍니다.

위 내용은 이진 문자열에서 임의 루프의 시작과 끝에 배치된 연속 0의 최대 수를 찾는 JavaScript 프로그램의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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