摘要: 思路: 经典dp (1)找状态,从后到前,目标:result[i][j]表示,A[i]与B[j]的最长公共子序列(i<=n,j<=m)。 (2)确定状态转移方程,二种决策(a[i] b[i]一样, a[i] b[i]不一样) (3)复杂度为O(lenA*lenB),此种解法为递推,从前到后,使用循环 阅读全文
posted @ 2016-10-09 21:28 choles 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 思路: 默认数组第一个是prefix,然后循环比较数组中的每一个字符串,直到不相等,返回substring即可,返回的substring一定是最长的公共前缀。 注:判断数组为空或者数组中有空字符串 时间复杂度:O(第一个字符串长度^2),java耗时1563 ms。 阅读全文
posted @ 2016-10-09 15:53 choles 阅读(282) 评论(0) 推荐(0) 编辑