> 백엔드 개발 > C++ > 주어진 모든 문자열을 동일하게 만드는 문자 재배열 횟수를 최소화합니다.

주어진 모든 문자열을 동일하게 만드는 문자 재배열 횟수를 최소화합니다.

王林
풀어 주다: 2023-08-31 13:25:06
앞으로
880명이 탐색했습니다.

주어진 모든 문자열을 동일하게 만드는 문자 재배열 횟수를 최소화합니다.

여기서 목표는 크기 n의 문자열 배열 Str에 대해 임의의 수의 연산이 주어지면 모든 문자열을 동일하게 만들 수 있는지 확인하는 것입니다. 모든 요소를 ​​문자열에서 꺼내어 동일한 문자열이나 다른 문자열의 어느 위치에나 다시 넣을 수 있습니다. 이 모든 것이 한 번의 작업으로 이루어집니다. 문자열을 동일하게 만들 수 있으면 "Yes"를 반환하고, 그렇지 않으면 "No"를 반환하여 필요한 최소 작업 수를 제공합니다.

문제 설명

주어진 모든 문자열이 동일하도록 문자가 재배열되는 횟수를 최소화하는 프로그램을 구현하세요

예제 1

으아악 으아악

설명

Str 배열에 제공된 세 개의 문자열은 최소 6번의 작업을 통해 동일한 문자열 mno로 변환될 수 있습니다.

으아악

예시 2

으아악 으아악

설명

제공된 문자열 배열 Str을 사용하면 동일한 문자열을 생성할 수 없습니다.

예시 3

으아악 으아악

설명

제공된 Str 배열의 세 문자열은 모두 최소 4번의 작업을 통해 동일한 문자열 xyz로 변환될 수 있습니다.

해결 방법

주어진 모든 문자열을 동일하게 만들기 위해 문자 크기를 조정하는 횟수를 최소화하기 위해 다음 방법을 사용합니다.

이 문제에 대한 해결책은 주어진 모든 문자열을 동일하게 만들기 위해 문자 위치 변경 횟수를 최소화하는 것입니다

문자가 모든 문자열에 고르게 분포되면 모든 문자열을 동일하게 만드는 목표를 달성할 수 있습니다. 즉, 배열에 있는 각 문자의 빈도는 크기 "n"의 숫자로 나누어져야 합니다.

알고리즘

주어진 모든 문자열을 동일하게 만드는 데 필요한 최소 문자 재배치 알고리즘은 다음과 같습니다

  • 1단계 − 시작

  • 2단계 - 문자열이 동일해질 수 있는지 확인하는 함수 정의

  • 3단계 - 모든 문자의 빈도를 저장하는 배열을 정의합니다. 여기서는 "fre"를 정의합니다.

  • 4단계 - 제공된 문자열 배열을 탐색합니다.

  • 5단계 - 주어진 문자열 Str의 각 문자를 반복합니다.

  • 6단계 - 획득한 주파수 업데이트

  • 7단계 - 이제 각 문자의 문자를 확인하세요

  • 8단계 - 빈도가 크기 n의 숫자로 나누어지지 않으면 "No"를 인쇄하세요

  • 9단계 - 각 문자의 빈도를 n

  • 크기로 나눕니다.
  • 10단계 - 정수 변수 "result"를 정의하고 결과를 최소 작업 수로 저장합니다

  • 11단계 - 원래 문자열 "org"에 각 문자의 빈도를 저장합니다.

  • 12단계 - 추가 문자 수도 가져옵니다

  • 13단계 - Yes를 인쇄하면 결과가 나옵니다.

  • 14단계 − 중지

예: C 프로그램

이것은 주어진 모든 문자열이 동일하도록 문자 위치를 바꾸는 수를 최소화하기 위해 위 알고리즘을 C 프로그램으로 구현한 것입니다.

으아악

출력

으아악

결론

마찬가지로, 주어진 모든 문자열을 동일하게 만들기 위해 문자 재배치 횟수를 최소화할 수 있습니다.

이 기사에서는 주어진 모든 문자열을 동일하게 만들기 위해 문자 위치 변경 횟수를 최소화하는 프로그램을 얻는 문제를 다룹니다.

C 프로그래밍 코드와 알고리즘은 주어진 모든 문자열이 동일하도록 문자 재배열 횟수를 최소화하기 위해 제공됩니다.

위 내용은 주어진 모든 문자열을 동일하게 만드는 문자 재배열 횟수를 최소화합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:tutorialspoint.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿