网站首页 > 精选教程 正文
这是一道字符串拆解的问题,抓住一个核心是交集字串的最大的长度,所以算法实现的时候要从最长字串来截取。
核心思路:
1、判断两个字符串的长度,确定拆解短的那个字符串。
2、截取子符串的 步长从拆解串的最大长度开始,依次减1
3、循环获取子串,同时判断长字符串是否包含子串,由于我们是以最大步长开始截取,所以第一遇到满足条件的子串就是我们需要的结果
具体java代码实现如下:
public class SameSubStr {
public static void main(String[] args) {
String sameSubStr = getSameSubStr("abcdsadwwwwwffff", "cdwww");
System.out.println("sameSubStr====="+sameSubStr);
}
public static String getSameSubStr(String a,String b){
String result = null;
String splitStr = null;
String longStr = null;
if(a.length()<=b.length()){
splitStr = a;
longStr = b;
}else{
splitStr = b;
longStr = a;
}
int len = splitStr.length();
for (int l=len+1;l>0;l--){
int start =0;
int end = l;
while (end<=len){
String subStr = splitStr.substring(start,end);
start++;
end=start+l;
System.out.println(subStr+"-->"+longStr.contains(subStr));
if (longStr.contains(subStr)){
return subStr;
}
}
}
return result;
}
}
猜你喜欢
- 2024-12-31 Java String 类用法详解
- 2024-12-31 删除字符串的指定字符
- 2024-12-31 Java Lambda表达式详解(非常全面)
- 2024-12-31 Java分割字符串(spilt())
- 2024-12-31 C#知识|语法拾遗:字符串相关的几种方法
- 2024-12-31 Java KMP算法:让字符串匹配不再烦恼
- 2024-12-31 GitHub标星3.9K的文本识别系统,优雅,实在是太优雅了
- 2024-12-31 Java常用类String实战
- 2024-12-31 Java中字符串StringBuffer和StringBuilder的使用
- 2024-12-31 Python字符串总结
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)