题目说明:

    获取两个字符串中最大相同子串。比如:str1 = "abcwerthelloyuiodefabcdef";str2 = "cvhellobnm"提示:将短的那个串进行长度依次递减的子串与较长的串比较。
public class StringDemo2 {/*获取两个字符串中最大相同子串。比如:str1 = "abcwerthelloyuiodefabcdef";str2 = "cvhellobnm"提示:将短的那个串进行长度依次递减的子串与较长的串比较。*///前提:两个字符串中只有一个最大相同子串public String getMaxSameString1(String str1,String str2){if(str1 != null && str2 != null){String maxStr = (str1.length() >= str2.length())? str1 : str2;String minStr = (str1.length() < str2.length())? str1 : str2;int length = minStr.length();for(int i = 0;i < length;i++){for(int x = 0,y = length - i;y <= length;x++,y++){String subStr = minStr.substring(x,y);if(maxStr.contains(subStr)){return subStr;}}}}return null;}// 如果存在多个长度相同的最大相同子串// 此时先返回String[],后面可以用集合中的ArrayList替换,较方便public String[] getMaxSameString2(String str1, String str2) {if (str1 != null && str2 != null) {StringBuffer sBuffer = new StringBuffer();String maxString = (str1.length() > str2.length()) ? str1 : str2;String minString = (str1.length() > str2.length()) ? str2 : str1;int len = minString.length();for (int i = 0; i < len; i++) {for (int x = 0, y = len - i; y <= len; x++, y++) {String subString = minString.substring(x, y);if (maxString.contains(subString)) {sBuffer.append(subString + ",");}}
//                System.out.println(sBuffer);if (sBuffer.length() != 0) {break;}}String[] split = sBuffer.toString().replaceAll(",$", "").split("\\,");return split;}return null;}@Testpublic void testGetMaxSameString(){String str1 = "abcwerthello1yuiodefabcdef";String str2 = "cvhello1bnmabcdef";String s1 = getMaxSameString1(str1,str2);String[] s2 = getMaxSameString2(str1, str2);System.out.println(s1);System.out.println(Arrays.toString(s2));}}

获取两个字符串中最大相同子串相关推荐

  1. String类型的算法题(获取子串在主串中出现的次数)和(获取两个字符串中最大相同子串)-Java代码实现

    Java获取子串在主串中出现的次数 package BaiYSExer2;import org.junit.Test; /*** @author Baiysmart* @create 2020-03- ...

  2. java求最大子串_Java获取两个字符串中最大相同子串的方法

    "abcwerthelloyuiodef" "cvhellobnm" 思路: 1,将短的那个子串按照长度递减的方式获取到. 2,将每获取到的子串去长串中判断是否 ...

  3. 1. 获取两个字符串中最大相同子串

    获取两个字符串中最大相同子串 分析 比如有两个字符串 str1 = "eysdfghjkl"; str2 = "cxbghjp"; 需要找出这里两个字符串中最大 ...

  4. java基础—找出两个字符串中最大的子串

    // 找一个字符串的最大子串public static void main(String[] args) {String s1 = "qwerabcdtyuiop";String ...

  5. 字符串数组-获取两个字符串中最大的相同子串(最大相同子串有且只有一个)

    public String getMaxSameStr(String str1,String str2){if (str1 != null && str2 != null){Strin ...

  6. 找出两个字符串中最大子字符串,如abractyeyt,dgdsaeactyey的最大子串为actyet

    // 最大子字符串.cpp : 定义控制台应用程序的入口点. // //找出两个字符串中最大子字符串,如"abractyeyt","dgdsaeactyey"的 ...

  7. python在长字符串中寻找重复子串_Python 入门到精通

    1.变量 1.python不用事先声明变量,赋值过程中就包含了变量声明和定义的过程 2.用"="赋值,左边是变量名,右边是变量的值 1.1. 数字 整数 int_var = 1 长 ...

  8. java 字符串子串_java实现字符串匹配求两个字符串的最大公共子串

    本文实例讲述了java实现求两个字符串最大公共子串的方法.分享给大家供大家参考,具体如下: 最近在项目工作中有一个关于文本对比的需求,经过这段时间的学习,总结了这篇博客内容:求两个字符串的最大公共子串 ...

  9. 找出两个字符串中最长的相同子字符串

    //找出两个字符串中最长的相同子字符串public class Stringdemo {public static void main(String[] args) {String str1 = ne ...

最新文章

  1. not syncing : corrupted stack end detected inside scheduler解决办法 以及高版本的激活码!
  2. shell脚本编程基础
  3. Ionic - 先进的 HTML5 移动开发框架和 SDK
  4. Marketing Cloud的语音输入功能
  5. 解决This picacion faied to trt becuse t could, not find or load the Qt platform plugin “windows““问题
  6. JDBC粗略学习( 阿巴阿巴阿巴阿巴)
  7. c++ fork 进程时 共享内存_尚学堂百战程序员:Python多进程与共享内存
  8. mvn -DskipTests和-Dmaven.test.skip=true区别
  9. 句句真研—每日长难句打卡Day20
  10. 从零实现深度学习框架——实现Tensor的反向传播
  11. mybatis逆向工程利用mybatis-generator-core自动生成代码
  12. WARNING: Too many active WebGL contexts. Oldest context will be lost
  13. Linux虚拟网络基础——Bridge
  14. 两种方法,word文件转换成PDF文件
  15. 什么是Android Instant Apps?
  16. 计算机中c盘标准规划为什么,为什么电脑c盘老是很小的空间··定期清理了
  17. 一图看懂西方哲学全脉络
  18. 史上最全的用Python操控手机APP攻略!建议收藏!
  19. 做一个有志青年,人生才有意义
  20. 摄像头P2P软件提供,完美解决打洞及音视频、用户码传输问题。

热门文章

  1. 小蚂蚁学习数据结构(26)——题目——输出二叉树上值大于x的算法
  2. CentOS7 安装管理KVM虚拟机
  3. Kinect+OpenNI学习笔记之2(获取kinect的颜色图像和深度图像)
  4. 台大陈蕴侬、李宏毅“应用深度学习”课程(国语)
  5. 台大李宏毅2017机器学习国语课程(更新)
  6. Tensorflow 实战 Google 深度学习框架(第2版)---- 10.2.2节 P274 代码
  7. Eclipse 使用 SVN 插件后修改用户方法汇总
  8. iOS项目的命名规范
  9. C# WinForm 判断程序是否已经在运行,且只允许运行一个实例
  10. 为什么dubbo使用ZkClient作为zookeeper的客户端