C++ 프로그램: 주어진 문자열을 재배열하여 K개의 반복 문자열을 형성합니다.
Aug 25, 2023 pm 05:45 PM문자열과 정수 k가 주어지면 k개의 유사한 하위 문자열이 연결되도록 문자열의 문자 순서를 변경해야 합니다. 이것이 가능하지 않으면 출력은 "Impossible"입니다.
으아악예(지도 사용)
문자열 "mottom"과 K=2를 가정해 보겠습니다. 주어진 문자열은 tomtom, motmot omtomt 등과 같은 2개의 하위 문자열을 연결하여 나타낼 수 있습니다. 3개의 하위 문자열 모두와 마찬가지로 k = 2이면 두 하위 문자열이 연결됩니다.
문자열을 사용하여 각 문자의 발생 횟수를 확인할 수 있습니다. 그 후, 사용 가능한 모든 주파수가 k로 나누어지면 가능하며 가능한 모든 답을 출력할 수 있습니다. 그렇지 않으면 불가능합니다.
위 예제의 C++ 구현은 다음과 같습니다. -
으아악출력
으아악예(지도 없음)
매핑을 사용하지 않고 동일한 예제의 C++ 구현은 다음과 같습니다. -
으아악출력
으아악결론
map 또는 unordered_map을 사용하여 문자를 빈도로 해시할 수 있습니다. [26] 배열을 사용하여 라틴어 소문자를 나타내고 모든 빈도를 0으로 설정할 수 있습니다. 이것은 구현 기반 질문이며 unordered_map 또는 hashmap을 사용하여 O(n)의 시간 복잡도를 갖습니다.
위 내용은 C++ 프로그램: 주어진 문자열을 재배열하여 K개의 반복 문자열을 형성합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

인기 기사

인기 기사

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Golang에서 문자열이 특정 문자로 시작하는지 확인하는 방법은 무엇입니까?

python_python 반복 문자열 튜토리얼에서 문자열을 반복하는 방법

PHP에서 16진수를 문자열로 변환할 때 중국어 문자가 깨지는 문제를 해결하는 방법
