가장 긴 공통 문자열 (두 문자열의 가장 긴 공통 문자열 문제)
제목 설명
두 문자열str1과str2를 지정하여 두 문자열의 가장 긴 공통 문자열을 출력합니다. 가장 긴 공통 문자열이 비어 있으면 출력-1입니다.
설명 입력:
, srr1, str2。(1≤length(str1),length(str2)≤5000)
출력 설명:
, 。
예제 1
입력
1AB2345CD
12345EF
출력
2345
참고:
O(n^2), O(1)。(n )
//dp[i][j] , s[i] s[j] ,
// 1: O(mn) O(mn)
#include
using namespace std;
int main(){
string s1;
string s2;
cin>>s1>>s2;
int m=s1.size();
int n=s2.size();
vector> dp(m,vector(n,0));
for(int i=0;imax){
end=i;
max=dp[i][j];
}
}
}
if(max>0){
cout<
// 2: dp[i][j] , dp[i-1][j-1], , , len
#include
using namespace std;
int main(){
string s1;
string s2;
cin>>s1>>s2;
int m=s1.size();
int n=s2.size();
int row=0; //
int col=n-1; //
int max=0; //
int end=0; // ,
while(rowmax){
end=i;
max=len;
}
i++;
j++;
}
if(col>0){ //
col--;
}else{ // ,
row++;
}
}
if(max>0){
cout<
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
디지털 문자가 알파벳 조합의 종수로 바뀌다텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.