参考代码: /** * 最大公共子序列的应用 * @author hyw * */ public class ConstructPalidrome { private static String LCS(String s1, String s2){ if(s1 == null || s2 == null) return null; int len1 = s1.length(); int len2 = s2.length(); int[][] f = new int[len1+1][len2+1]; for(int i=len1-1; i>=0; i--) for(int j=len2-1; j>=0; j--){ if(s1.charAt(i) == s2.charAt(j)){ f[i][j] = f[i+1][j+1] + 1; }else{ f[i][j] = Math.max(f[i+1][j], f[i][j+1]); } } int i=0, j=0; StringBuilder sb = new StringBuilder(); while(i
Read full article from 由构造回文字串的算法问题引发思考 | 指尖的舞客
No comments:
Post a Comment