首先介绍一下思想吧,主要是利用了Java中String类自带的方法SubString和Contains,其中SubString方法是获取子字符串,Contains是判断一个字符串中是否包含某一字符串。

其次介绍一下算法(不能说是算法,个人感觉级别还不够),就是先判断两个字符串中长度较短的字符串,然后根据长度较的字符串的长度依次缩减字符串,每次缩减后与长字符串做对比,如果包含则找到了最大公共字串,如果不包含则继续。

import java.util.Scanner;public class MaxString {/**author hender* @param args* */public static void main(String[] args) {// TODO 自动生成的方法存根System.out.println("请输入第一个字符串:");Scanner sca = new Scanner(System.in);String s1 = sca.nextLine();System.out.println("请输入第二个字符串:");Scanner sca1 = new Scanner(System.in);String s2 = sca1.nextLine();System.out.println("第一个字符串:"+s1+"\r"+"第二个字符串:"+s2);if(s1.length()>=s2.length())//获取长度较短的字符串并调用获取字符串长度函数
        {System.out.println("最大相同子字符串"+MaxSubString(s2,s1));}else{System.out.println("最大相同子字符串"+MaxSubString(s1,s2));}}private static String MaxSubString(String shortstr, String longstr) {// TODO 自动生成的方法存根String temp = new String("");for(int i = 0;i<shortstr.length();i++)//先从短字符串的长度开始,逐步递减长度,直到出现符合的字符串
        {for(int j = 0,k = shortstr.length()-i;k<shortstr.length();j++,k++){temp = shortstr.substring(j, k);if(longstr.contains(temp)){return temp;}}}return null;}}

转载于:https://www.cnblogs.com/llf-hwj/p/3327275.html

Java语言实现查找两个字符串的最大公共字串相关推荐

  1. c 语言 字符 查找,C 语言实例 - 查找字符在字符串中出现的次数

    C 语言实例 - 查找字符在字符串中出现的次数 C 语言实例 C 语言实例 查找字符在字符串中的起始位置(索引值从 开始). 实例 #include int main() { char str[], ...

  2. 【算法刷题日记之本手篇】汽水瓶与查找两个字符串a,b中的最长公共子串

    ⭐️前面的话⭐️ 本篇文章介绍来自牛客试题广场的两道题题解,分别为[汽水瓶]和[查找两个字符串a,b中的最长公共子串],展示语言java. 小贴士:本专栏所有题目来自牛客->面试刷题必用工具

  3. C语言找出两个字符串唯一不同的一个字符(附完整源码)

    C语言找出两个字符串唯一不同的一个字符 C语言找出两个字符串唯一不同的一个字符完整源码(定义,实现,main函数测试) C语言找出两个字符串唯一不同的一个字符完整源码(定义,实现,main函数测试) ...

  4. 查找两个字符串a,b中的最长公共子串

    查找两个字符串a,b中的最长公共子串 文章目录 查找两个字符串a,b中的最长公共子串 一.题目描述 二.代码 一.题目描述 题目描述: 查找两个字符串a,b中的最长公共子串.若有多个,输出在较短串中最 ...

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

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

  6. 查找两个字符串中相同字符串_使两个字符串相同的最低成本

    查找两个字符串中相同字符串 Problem statement: 问题陈述: Given two strings string1 and string2 find the minimum cost r ...

  7. 华为机试HJ65:查找两个字符串a,b中的最长公共子串

    作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 题目描述: 查找两个字符串a,b中的最长公共子串.若有多个,输出在较短串中最先出现的那个. 注: ...

  8. HJ65 查找两个字符串a,b中的最长公共子串

    描述 查找两个字符串a,b中的最长公共子串.若有多个,输出在较短串中最先出现的那个. 注:子串的定义:将一个字符串删去前缀和后缀(也可以不删)形成的字符串.请和"子序列"的概念分开 ...

  9. C语言字符串判断是否与已知相同,C语言中判断两个字符串是否相同的方法

    C语言中判断两个字符串是否相同的方法 C语言提供了几个标准库函数,可以比较两个字符串是否相同.以下是用strcmp()函数比较字符串的一个例子: #include #include void main ...

  10. 【牛客网华为机试】HJ65 查找两个字符串a,b中的最长公共子串

    题目 描述 查找两个字符串a,b中的最长公共子串.若有多个,输出在较短串中最先出现的那个. 注:子串的定义:将一个字符串删去前缀和后缀(也可以不删)形成的字符串.请和"子序列"的概 ...

最新文章

  1. 临时表空间过大解决方法
  2. 河南单招哪所学校主学计算机,河南单招学校王牌专业 2021年河南单招王牌专业...
  3. 图文教程:使用MyEclipse的hibernate工具从数据库反向生成实体Bean
  4. 从Excel到Python:最常用的36个Pandas函数
  5. CodeForces - 1353F Decreasing Heights(dp)
  6. java密码学原型算法_java密码学原型算法实现——双线性对.pdf
  7. javascript OOP(下)(九)
  8. 3Dshader之膨胀与收缩
  9. 《统计学基本概念和方法》读书笔记+读后感(1)
  10. 【转】如何防止softmax函数上溢出(overflow)和下溢出(underflow)
  11. 2019年互联网大厂月饼大盘点,最丑的一家竟然是...
  12. linux 下 ffmpeg 库怎么才可以调试
  13. linux内核 address_space 结构
  14. 《深入浅出统计学》读书笔记
  15. 最简单vivo机器怎么不root激活XPOSED框架
  16. Unity 关于制作UV动画,模拟管路气路流向示意图
  17. 美图秀秀一寸照片的制作
  18. 分享解决方法:为什么QQ聊天框中无法使用输入法输入中文?
  19. 微信公众号嵌套html,VUE项目嵌入微信公众号文章URL
  20. Python 爬取懂车帝详情页“全部车型模块信息”!懂车帝就火起来了吗?

热门文章

  1. Daily Scrum8, Oct. 12th
  2. Android TextView 跑马灯滚动效果
  3. 好险!一入职,就遇到MySQL这么大Bug!差点背锅走人~
  4. 秒杀系统架构分析与实战(14155字,26图)
  5. 如何合理地决定线程池大小?
  6. Spring 最常用的 7 大类注解,女媛史上最强整理!
  7. 专科学历,能让你永久增加5倍工作机会的最强方法!超级好用
  8. 代码中的一个分号,引发程序员的疯狂热议
  9. 直接点oracle表编辑,ORACLE SQL 知识点(随时编辑)
  10. java集合框架 改写_Java集合框架1