>  기사  >  백엔드 개발  >  최소 하위 문자열이 있는 두 하위 문자열을 찾는 C++ 코드

최소 하위 문자열이 있는 두 하위 문자열을 찾는 C++ 코드

WBOY
WBOY앞으로
2023-09-06 14:41:14891검색

최소 하위 문자열이 있는 두 하위 문자열을 찾는 C++ 코드

n개의 문자를 포함하는 소문자 문자열 S가 있다고 가정합니다. 비어 있지 않은 두 개를 찾아야 합니다. −

  • P와 Q가 모두 S

  • 각 인덱스 i에 대해 S[i]는 P와 Q 중 하나에만 속하는 부분 문자열 P와 Q입니다.

  • P는 사전순으로 최대한 작습니다.

입력이 S = "thelightsaber"인 경우 빨간색 2개가 필요하므로 출력은 10이 됩니다.

노트북, 녹색 노트 3개, 파란색 노트 5개.

단계

이 문제를 해결하기 위해 다음 단계를 따릅니다.

c := S
sort the array c
a := position of (c[0]) in S
delete c from S
print c[0] and S

Example

더 나은 이해를 위해 아래 구현을 살펴보겠습니다. −

#include <bits/stdc++.h>
using namespace std;
void solve(string S){
   string c = S;
   sort(c.begin(), c.end());
   int a = S.find(c[0]);
   S.erase(S.begin() + a);
   cout << c[0] << ", " << S << endl;
}
int main(){
   string S = "thelightsaber";
   solve(S);
}

Input

"thelightsaber"

Output

a, thelightsber

위 내용은 최소 하위 문자열이 있는 두 하위 문자열을 찾는 C++ 코드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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