>백엔드 개발 >C++ >이진 문자열의 사전순 순위

이진 문자열의 사전순 순위

PHPz
PHPz앞으로
2023-09-12 20:17:03986검색

이진 문자열의 사전순 순위

이 기사에서는 이진 문자열 및 사전순과 관련된 흥미로운 문제를 살펴보겠습니다. 우리의 임무는 주어진 이진 문자열의 사전순 순위를 찾는 것입니다. 효율성과 유연성으로 잘 알려진 인기 프로그래밍 언어인 C++를 사용하여 솔루션을 시연해 보겠습니다.

사전 순서 이해하기

사전 순서(알파벳순 또는 사전순이라고도 함)는 단어를 구성 문자에 따라 알파벳 순서로 배열하는 것입니다.

문제 설명

이진 문자열이 주어지면 모든 순열 중에서 사전순 순위를 결정해야 합니다. 문자열의 사전순 순위는 문자열이 사전순으로 나열될 때 모든 순열 집합에서의 위치입니다.

해결 방법

우리의 접근 방식에는 다음과 같은 주요 단계가 포함됩니다−

  • 카운트 초기화 이진 문자열에 '1'의 수를 저장하는 카운터를 초기화합니다.

  • 순위 계산 이진 문자열을 왼쪽에서 오른쪽으로 반복적으로 탐색합니다. 현재 문자가 '1'인 경우 결합된 공식을 사용하여 순위를 계산하고 후속 '1'마다 카운터를 줄입니다.

  • 반환 결과 결과는 이진 문자열의 사전순입니다.

C++ 구현

아래 C++ 코드는 우리의 솔루션을 간략하게 설명합니다−

으아아아

출력

으아아아

Explanation

의 중국어 번역은

Explanation

입니다.

이진 문자열을 고려하세요

으아아아

이 이진 문자열의 순열과 조합은 "011", "101", "110"입니다. 사전순으로 보면 이러한 순열은 "011", "101", "110"입니다.

이진 문자열 "110"은 순위 3을 가지며 이것이 우리 프로그램의 출력입니다.

결론

이진 문자열의 사전순 순위를 찾는 문제는 이진 문자열, 순열 및 사전순 정렬에 대한 이해를 바탕으로 하는 매우 흥미로운 문제입니다. C++로 구현된 이 솔루션은 기본 프로그래밍 구성을 사용하여 이 문제를 효율적으로 해결하는 방법을 보여줍니다.

위 내용은 이진 문자열의 사전순 순위의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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