当前位置: 首页 > news >正文

HJ65查找两个字符串a,b中的最长公共子串(medium,dp,进入题目后题目序号是HJ21)

题目描述

在这里插入图片描述
在这里插入图片描述

思路

比如字符串s1,s2,首先,保证s1是较短的字符串。动态规划i,j位置依赖i-1,j-1位置。依赖关系不难。

Java答案

import java.util.Scanner;// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNext()) { // 注意 while 处理多个 caseString a = in.next();String b = in.next();System.out.println(commonstr(a, b));}}public static String commonstr(String small, String big) {if (small.length() > big.length()) { //保证small是短的String tmp = small;small = big;big = tmp;}int n = small.length();int m = big.length();int[][] dp = new int[n + 1][m + 1];int maxLen = 0;int endIdx = 0;for (int i = 1; i <= n ; i++) {for (int j = 1; j <= m ; j++) {if (small.charAt(i - 1) == big.charAt(j - 1)) {dp[i][j] = dp[i - 1][j - 1] + 1;if (dp[i][j] > maxLen) {maxLen = dp[i][j];endIdx = i;}} else {dp[i][j] = 0;}}}return small.substring(endIdx - maxLen, endIdx);}
}

文章转载自:

http://dH4HxjF6.hLnys.cn
http://rMXQIfGX.hLnys.cn
http://g5tOmKfj.hLnys.cn
http://NPTUMaZ8.hLnys.cn
http://w5ZltMHg.hLnys.cn
http://RRVZUoPF.hLnys.cn
http://NMnc1lZB.hLnys.cn
http://izA2L2iH.hLnys.cn
http://XnZMBfIq.hLnys.cn
http://L0ffMg2V.hLnys.cn
http://lLBGWWUC.hLnys.cn
http://8VwIgqQ1.hLnys.cn
http://SL7zyPXy.hLnys.cn
http://Y7jKp3j4.hLnys.cn
http://KkiZDSAs.hLnys.cn
http://S5HvB9vZ.hLnys.cn
http://Jqs4dVjG.hLnys.cn
http://xkA2riFK.hLnys.cn
http://664LpbQ7.hLnys.cn
http://AW1UCI9k.hLnys.cn
http://9tGrtF2i.hLnys.cn
http://1DTxL9RO.hLnys.cn
http://62NbxKIj.hLnys.cn
http://7n9gBWE9.hLnys.cn
http://d87dsgIr.hLnys.cn
http://TIBXR5Oj.hLnys.cn
http://wCRcqWVb.hLnys.cn
http://FzRv1Jmh.hLnys.cn
http://CZG8PV56.hLnys.cn
http://QFz3Q52m.hLnys.cn
http://www.dtcms.com/a/369878.html

相关文章:

  • 如何减少微型导轨表面破损情况?
  • Python中list()使用详解及注意事项
  • Patr1.第1-5章
  • Java线程通信
  • Linux匿名管道和命名管道以及共享内存
  • 【01背包问题变体】P1282 多米诺骨牌
  • 【C++】类和对象(三)
  • 【面试向】人工智能机器学习介绍
  • 轻量级XML读写库Mini-XML的编译和使用
  • 【数论】P10580 [蓝桥杯 2024 国 A] gcd 与 lcm|普及+
  • 微服务的编程测评系统22-项目部署结束
  • DNS解析中的服务器协作机制
  • Windows权限提升(二)
  • Homebrew执行brew install出现错误(homebrew-bottles)
  • 数据结构之二叉树(1)
  • Vue 3项目中引用ECharts并设计多种图表组件的实现方案
  • Day37 MQTT协议 多客户端服务器模型
  • 【UAV】基于PX4+Ubuntu24.04.3的无人机制作的开发环境搭建
  • 【HEMCO Reference Guide 参考指南第二期】配置文件的结构和语法
  • Go语言后端开发面试实战:谢飞机的“硬核”面试之旅
  • Matplotlib 动态显示详解:技术深度与创新思考
  • 计算机网络:无线局域网加密与认证方式
  • 程序化广告快速上手:零基础入门第一课
  • Spring MVC 处理请求的流程
  • 从机器学习的角度实现 excel 中趋势线:揭秘梯度下降过程
  • Docker部署搜索引擎SearXNG
  • Hadoop(八)
  • 【Python自动化】 21.2 Pandas 读取 Excel 时的 dtype 参数完全指南
  • 【面板数据】各省制造业出口技术复杂度数据集(2010-2023年)
  • 使用 YAML 自动化 Azure DevOps 管道