最长公共子串
来源:互联网 发布:python 迭代器的方法 编辑:程序博客网 时间:2024/06/15 06:32
给定两个字符串,返回两个字符串的最长公共子串:
两个字符串长度分别为M,N;时间复杂度O(M*N),空间复杂度为O(1)
private static String lcst(String s1,String s2){ if(s1 == null || s1.length()==0 ||s2 == null || s2.length() == 0){ return ""; } char[] arr1 = s1.toCharArray(); char[] arr2 = s2.toCharArray(); int max = 0; int end = 0; int row = 0,col = arr2.length-1; while(row<arr1.length && col<arr2.length ){ int i= row; int j = col; int len=0; while(i<arr1.length &&j<arr2.length){ if(arr1[i]==arr2[j]){ len++; }else { len=0; } if(len>max){ max = len; end=i; } i++; j++; } if(col>0){ col--; }else { row++; } } return s1.substring(end-max+1,end+1);}
阅读全文
0 0
- 最长公共子串
- 最长公共子串
- 最长公共子串
- 最长公共子串
- 最长公共子串
- 最长公共子串
- 最长公共子串
- 最长公共子串
- 最长公共子串
- 最长公共子串
- 最长公共子串
- 最长公共子串
- 最长公共子串
- 最长公共子串
- 最长公共子串
- 最长公共子串
- 最长公共子串
- 最长公共子串
- 读入优化板子
- Linux笔记_Linux自带定时调度crontab
- 求助~~js做的打字小游戏
- Java Develop——使用 Jenkins 进行持续集成
- scala和maven整合实践
- 最长公共子串
- JAVA注解
- numpy使用记录
- 用python导入原始数据集
- mysql聚簇索引和非聚簇索引以及二级索引
- 继承
- 300. Longest Increasing Subsequence
- leetcode 82. Remove Duplicates from Sorted List II
- 句子逆序