packagesuanfa;.*;import;import;lassLcs{ publicstaticListre=newArrayList<Character>(); staticintm,n; staticintc[][]; harb[][]; publicLcs(){//构造方法 Stringin; charx[],y[]; BufferedReaderbuf=newBufferedReader(newInputStreamReader()); do{ try{ do{ "请输入第一个字符串:"); in=().trim(); }while(("")); in="S"+in; x=(); do{ "请输入第二个字符串:"); in=().trim(); }while(("")); in="S"+in; y=(); charb[][]=newchar[][]; intc[][]=newint[][]; intlen=lcsLength(x,y,b,c);//计算最长公共子序列的长度"最长公共子序列的长度为:"+len); if(len==0){"没有公共子序列!");return;} else{ lcsPut(-1,-1,x,b); intsize=(); "最长公共子序列为:"); for(inti=0;i<size;i++){ ; } "\n");} }catch(IOExceptione){ (); }}while(true); } //求长度的方法 publicintlcsLength(charx[],chary[],charb[][],intc[][]){ m=-1; n=-1; ();for(intj=0;j<=n;j++){c[0][j]=0;b[0][j]='→';;}"\n"); for(inti=0;i<=m;i++){c[i][0]=0;b[i][0]='→';} for(inti=1;i<=m;i++){ ; for(intj=1;j<=n;j++){ if(x[i]==y[j]){ c[i][j]=c[i-1][j-1]+1; b[i
最长公共子序列代码 来自淘豆网m.daumloan.com转载请标明出处.