邓俊辉算法学习(1):lcs问题java实现

学堂在线邓俊辉老师绪论中lcs实现,大致思路邓老师已近说了,那我就废话不多说,直接上代码

private static String lcs(char[] c1, int i, int j, char[] c2, int k, int l,String string) {
	// TODO Auto-generated method stub

	if (j==-1||l==-1) {
		return "";
	}
	if (c1[j]==c2[l]) {
		String s=lcs(c1, i, j-1, c2, k, l-1,string)+c1[j];
		return s;
	}else {//如果不等,则每个分别减一来比较,c1减一和c2比要么c2减1和c1比,取他们中最长
		String s1=lcs(c1, i, j-1, c2, k, l,string);
		String s2=lcs(c1, i, j, c2, k, l-1,string);
		if (s1.length()>s2.length()) {
			return s1;
		}else {
			return s2;
		}
		
		
	}

	
	
}

代码实现由几个没用的参数,如i,j可以完全不要,还有重复的无聊命名,还可以再精简一下,不想精简了就直接放上来吧。

猜你喜欢

转载自blog.csdn.net/qq_42186444/article/details/84636423