2 개의 문자열 중에서 가장 긴 공통 하위 시퀀스를 구현하려고합니다. 내 방법은 여기에 게시 된 것과 조금 다릅니다. 나는 해결책에 가깝지만 거의 문제가 없다. 도와주세요.가장 긴 공통 하위 시퀀스 찾기 : 내 메서드
내 문제 : 원하는 출력 : 메탈리카 전류 출력 : etallica
내 코드는 다음과 같습니다
import java.util.ArrayList;
import java.util.Stack;
public class CommonSubS {
public static void main(String[] args) {
ArrayList<Character> ss = new ArrayList<>();
String s1 = "metallicarules";
String s2 = "rulmetallicales";
ArrayList<ArrayList<Character>> one = new ArrayList<>();
char[] first = s1.toCharArray();
char[] second = s2.toCharArray();
int j = 0;
int current = 0;
int mainIndex = 0;
ArrayList<Character> sec = new ArrayList<>();
// search for each char in second
for(int i = 0; i<second.length; i++)
{
j = current;
// search for each char in first
while(j<first.length)
{
// if match found, add to the arraylist
if(first[j] == second[i]){
sec.add(first[j]);
current = j+1;
break;
}
else
{ // if different char occured in between,
// save current arraylist in one
// and go forward
one.add(sec);
sec = new ArrayList<>();
j++;
current = 0;
}
}
}
for(ArrayList<Character> s: one)
{
for(Character c: s)
{
System.out.print(c);
}
System.out.println();
}
}
}
/*
desired output: metallica
current output: etallica
*/
내가 거기에 다른 방법이 있지만 간단한 방법을 사용하여 구현하려고 알고있다. 문제를 지적하십시오.
_ 문제를 지적하십시오 _? 당신은 직면하고있는 문제에 대해 물어야합니다. – Apurv
방금 게시물을 편집했습니다. –
귀하의 질문은 무엇입니까? –