【Java】获取两个字符串中最大相同子串

java-String相关算法题-获取两个字符串中最大相同子串 java-String相关算法题-获取两个字符串中最大相同子串 问题描述 获取两个字符串中最大相同子串 比如:str1=abcwerthelloyuiodef;str2=cvhellobnm 提示:将短的那个串的长度依次递减的子串与较长的串比较 解题思路 要分两种情况进行讨论 情况一:长度相同的最长相同子串只有一个或找到一个就行 情况二:要到长度相同的所有最长子串,不止一个 1.我们将较短的那个子串进行长度递减操作 2.比如cvhellobnm 长度为10:cvhellobnm 长度为9:cvhellobn 阅读详情

题目

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

前提

两个字符串中只有一个最大相同子串

解决方案

public class StringDemo {
    public static void main(String[] args) {
        String str1 = "abcwerthelloyuiodefabcdef";
        String str2 = "cvhellobnm";
        String str3 = getMaxSameString(str1, str2);
        System.out.println(str3);
    }
    public static String getMaxSameString(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++){
                //除了第一次循环是minStr的长度,其他循环的长度都有多肿可能,则需要遍历
                //第二层循环从minStr下标为0开始,然后选取相应长度的子串
                //每循环一次,子串的头部和尾部下标都加1以实现遍历当前长度的每一种情况
                for(int head = 0,end = length-i;end <= length;head++,end++){
                    String subStr = minStr.substring(head,end);//substring左闭右开,所以end要取等号
                    if(maxStr.contains(subStr)){
                        return subStr;
                    }
                }
            }
        }
        return null;
    }
}

结果

结果.jpg
ubuntu打实时内核补丁教程以及安装后显卡驱动问题解决方法 在ubuntu20.04上安装成功,亲测有效 目录ubuntu打实时内核补丁教程1、下载实时内核2、解压和打补丁(patch)3、安装依赖和编译安装4、修改一些文件,便于之后切换内核5、重启电脑实时内核版本下安装nvidia显卡驱动的问题1、先切换回之前的内核(非实时)版本2、重装之前内核(非实时)版本下的显卡驱动3、切换回实时内核(按照上面的步骤)4、在实时内核下安装显卡驱动 ubuntu打实时内核补丁教程 安装目标系统:ubuntu20.04 电脑配置:i9,2080ti 1、下载实时内核 打开终端,输 阅读详情

相关推荐

cs188Inference in Bayes Nets(贝叶斯网络的推理)

cs188Inference in Bayes Nets贝叶斯网络的推理Question1(3 points):Bayes Net StructureQuestion2(1 points):Bayes Net ProbabilitiesQuestion 3(5 points):Join FactorsQuestion4(4 points):EliminateQuestion5(4 points):NormalizeQuestion 6(4 points):Variable EliminationQuesti

weixin_46582817的博客 1673

Java(String)获取两个字符串中最大相同子串

private void findMaxSub(String str1, String str2) { int ruler = str2.length(); String sub = null; l1 : while (ruler > 0) { // 只要尺子不为0就循环 // 用这个长度取子串 int begin = 0; // 每次从短串中取子串, 总是从0开始取 while..

asd623444055的博客 525

手把手教你用C语言实现GNSS卫星方位角计算(附RTKLIB风格代码解析)

本文详细介绍了如何使用C语言实现GNSS卫星方位角计算,包括从地固坐标系到站心坐标系的转换链条。通过RTKLIB风格的代码解析,展示了XYZ到ENU坐标转换的核心原理和C语言实现框架,帮助开发者掌握卫星方位角和高度角的计算技巧,适用于GNSS观测数据质量分析和精密定位算法开发。

weixin_30699915的博客 364

java学习之获取两个字符串中的最大相同子串(仅有一个最大子串情形)

package string.exer; import org.junit.Test; /** * @author * @create 2022-01-13-16:45 */ public class StringDemo2 { /* 获取两个字符串中的最大相同子串 */ //前提:字符串中只有一个最大相同子串 public String getMaxSameString(String str1, String str2) { if (.

m0_55895641的博客 624

2024高校网络安全管理运维赛题目--复现+题目+wp

官方writeup集思广益比较好的备份。

书山有路勤为径,学海无涯苦作舟 1319

基于zynq在linux下的AXI-CAN实战

从petalinux的搭建,到uboot、kernel、rootfs的调试、打包提示:以下是本篇文章正文内容,下面案例可供参考本次要讲述的zynq的AXI-CAN实战小知识就说到这里了,兄弟萌要有什么指导意见或疑问可以在评论区留下"足迹"。

qq_45521099的博客 3163

java算法题目--String(3)

获取两个字符串中最大相同子串。比如:str1 = “abcwererhelloyossaa”;str2 = “asdahashelloasggada”; 提示:将短的那个字符串进行长度依次递减的子串与较长的串比较。 思路: 找最大相同字符串,那么这个字符串最大不可能超过二者中小的那一个。 找出两个字符串短的那一个,设置两个下标(一个控制从前面去,一个控制从后面去),逐步缩小范围 只有一个最...

weixin_42902126的博客 419

STM32F103 实例应用(10)——I2C读写24C32

一、应用简介 本文介绍24C32的读写,基于野火的软件I2C程序。 board_i2c.h /**=========================================================================== @file board_i2c.h @brief 本文件是用于I2C驱动 @author 青梅煮久 @version r0.1 @date 2021/01/13 -------------------------.

qq_34118600的博客 3447

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

获取两个字符串中最大相同子串Str1=“abhellofdsdsa” str2=“dsfdghellogvcz” * 提示:将短的那个穿进行长度一次递减的子串与较长的串比较 注意:只适合两个字符串中只有一个最大的相同的子串,要是比较多的可以使用最好的用的集合list import org.junit.Test; public class StringDemo2 { public String getMaxSameString(String str1, String str2) {

sunyingboaini的博客 950

AUTOSAR NvM 实车故障深度剖析:车载存储问题快速定位与工程解决方案

软件配置与代码逻辑无问题时,排查底层驱动与ECU硬件,步骤如下:底层驱动排查:排查Fls/Eep驱动配置,是否适配目标MCU(如TC397、S32K),编程/擦除/读取时序是否合理;检查Fls/Eep驱动错误处理逻辑,是否未处理Flash编程失败、读取错误等异常;验证Flash高速编程模式是否启用,是否能提升写入/读取速度;排查MemIf层配置,是否正确对接NvM与Fls/Eep驱动,是否存在调度延迟。

getusushu的博客 78

STM32实战开发(76):STM32开发无线传感器网络(WSN)完整实现

本文介绍了如何基于STM32开发无线传感器网络,包括硬件选择、通信协议、系统设计和编程实现。通过STM32的强大性能和低功耗特性,我们能够构建高效、可靠的无线传感器网络。无论是Zigbee、LoRa、Wi-Fi还是BLE协议,STM32都能够与多种通信模块进行兼容,满足不同应用的需求。希望这篇文章能帮助您了解无线传感器网络的构建流程,并为您的项目提供有价值的参考。

2201_76125393的博客 1058

Java获取两个字符串中最大相同子串

Java获取两个字符串中最大相同子串

hoho_12 1万+

【100%通过率】华为od机试C卷【特殊的加密算法】Python 实现

有一种特殊的加密算法,明文为一段数字串,经过密码本查找转换,生成另一段密文数字串。规则如下1.明文为一段数字串由0-9组成2.密码本为数字0-9组成的二维数组3.需要按明文串的数字顺序在密码本里找到同样的数字串,密码本里的数字串是由相邻的单元格数字组成,上下和左右是相邻的,注意:对角线不相邻,同一个单元格的数字不能重复使用。

MISAYAONE的博客 5921

Java——获取两个字符串中最大的相同子串

获取两个字符串中最大相同子串。比如: str1 = "abcwerthelloyuiodef“ str2 = “cvhellobnm” 提示:将短的那个串进行长度依次递减的子串与较长 的串比较 输出:hello 实现代码: import java.util.ArrayList; import java.util.List; /** * 获取两个字符串中最大相同子串。比如: * str1 = "abcwerthelloyuiodef“;str2 = "cvhellobnm"//10 *

weixin_45145726的博客 917

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Java 获取两个字符串中最大相同的子串

问题描述: 获取两个字符串中最大相同子串。比如: str1 = "abcwerthelloyuiodefabcdef" str2 = "cvhellobnm" 思路:将较小的那串依次递减,比较每个长度的所有可能 注意判空 public static String getSameString(String str1, String str2) { if(str1 != null && str2 != null){ String maxStr = (str1.

real_rookie的博客 1434

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Java练习之 获取两个字符串中最大相同子串

import org.junit.Test; import java.util.Arrays; /** * @author 大跳蚤 * @create 2020/11/29 * @describe 获取两个字符串中最大相同子串。比如: str1 = "abcwerthelloyuiodefabcdef";str2 = "cvhellobnm" 提示:将短的那个串进行长度依次递减的子串与较长的串比较。 */ public class StringDemo2 { //前

qq_45922060的博客 529

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

java获取两个字符串的最大相同子串

public class MaxSubstring { public static void main(String[] args) { String str=findMaxSubString("abcwerthelloyuiodef","cvhellobnm"); System.out.println(str); } //提示:将短的那个...

# Never Give up & 818

java获取两个字符串中最大相同子串

比如:提示:将短的那个串进行长度依次递减的子串与较长的串比较。

Misnearch的博客 455

JAVA--获取两个字符串中最大相同子串

目标 编写代码,获取到两个字符串中包含长度最长的相同子串。 思路 将短的字符串按照长度递减的方式获取到它的子串。 将每个获取到短字符串的子串去长字符串中判断是否包含,如果包含,则已经找到最大相同子串,返回该字符串。 编码 public static void sp(Object obj){ System.out.println(obj); } public stati...

Xin6Yang的博客 3104

Java实现获取两个字符串中最大相同子串。

如题 package com.mxh.java01; import org.junit.Test; /** * @author MXHstrat * @create 2021 - 11 - 04 9:33 */ public class StringDemo03 { /* 获取两个字符串中最大相同子串。比如: str1 = "abcwerthel Loyuiodef";str2 = "cvhellobnm" 提示:将短的那个串进行长度依次递减的子串与较长的串比较。 */

苗老八的博客 344

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

"abcwerthelloyuiodef""cvhellobnm"思路:1,将短的那个子串按照长度递减的方式获取到。2,将每获取到的子串去长串中判断是否包含,如果包含,已经找到!class StringTest3{public static String getMaxSubString(String s1,String s2){String max = "",min = "";max = (s1....

weixin_42122878的博客 682

获取两个字符串中最大相同子串-JAVA

* @Description 获取两个字符串中最大相同子串 * 思路: *1,将短的那个子串按照长度递减的方式获取到。因为是获取最大相同子串,所以短字符串一次从最长单位开始,获取子串集。 * 先找最长的,后找次长的,依次递减,直到找到或直到最后。 * 类似循环拿一个写有短字符串的子串的纸条,在写有长字符串的纸条上,从左依次整体移动,看是否匹配。如果匹配则找到 * 如果没匹配,则拿下一个子串继续进行匹配操作。 *2,将每获取到的子串去长串中判断是否包含,如果包含,已经找到! publ...

qinzaoxiaozhu的专栏 749

获取两个字符串中最大相同的子串(java)

找出两个字符串中的最大子串:例s1="asdafghjka", s2="aaasdfg"    他们的最大子串为"asd"   这个题类似与字符串匹配的问题,首先因想到用长的字符串判断是否包含短的字符串 高效的做法是:依次把短的字符串的长度递减,找出短的字符串的子字符串,这样就大大提高了效率 减少了比较的次数。 例:1.短的长度为 0~s2.lengh() 与长的判断一次(判断是否包含);...

qq_41582941的博客 6973

java获取两个字符串中最大子串_Java获取两个字符串中最大相同子串

Java获取两个字符串中最大相同子串"abcwerthelloyuiodef""cvhellobnm"思路:1,将短的那个子串按照长度递减的方式获取到。2,将每获取到的子串去长串中判断是否包含,如果包含,已经找到!。class StringTest3{public static String getMaxSubString(String s1,String s2){String max = ""...

weixin_35474374的博客 169

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

"abcwerthelloyuiodef""cvhellobnm"思路:1,将短的那个子串按照长度递减的方式获取到。2,将每获取到的子串去长串中判断是否包含,如果包含,已经找到!class StringTest3{public static String getMaxSubString(String s1,String s2){String max = "",min = "";max = (s1....

weixin_30249953的博客 250
上一篇: 【Java常用类】两个Date类
下一篇: 【Java常用类】SimpleDateFormat
Sancean
博客等级 码龄6年 2472粉丝 149原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值