标题:最大公共子串最大公共子串长度问题就是:
求两个串的所有子串中能够匹配上的最大长度是多少。比如:"abcdkkk" 和 "baabcdadabc",
可以找到的最长的公共子串是"abcd",所以最大公共子串长度为4。下面的程序是采用矩阵法进行求解的,这对串的规模不大的情况还是比较有效的解法。请分析该解法的思路,并补全划线部分缺失的代码。public class Main
{static int f(String s1, String s2){char[] c1 = s1.toCharArray();char[] c2 = s2.toCharArray();int[][] a = new int[c1.length+1][c2.length+1];int max = 0;for(int i=1; i<a.length; i++){for(int j=1; j<a[i].length; j++){if(c1[i-1]==c2[j-1]) {a[i][j] = __________________;  //填空if(a[i][j] > max) max = a[i][j];}}}return max;}public static void main(String[] args){int n = f("abcdkkk", "baabcdadabc");System.out.println(n);}
}注意:只提交缺少的代码,不要提交已有的代码和符号。也不要提交说明性文字。

**解析:**这个题目其实是很多时候都能看到的,数据结构里面好像都有讲过,这里其实只要将这两个字符串都减一的情况下,本身的公共数加一就可以,但是我认为这个题目解法都很多种。

解法一:a[i-1][j-1]+1

解法二:f(s1.subString(i),s2.subString(j))+1

我当时做的就是第二种,我就觉得只要每次递归的时候字符串减一,然后回溯的时候加一就可以了。

如果有什么问题,欢迎指正。。

蓝桥杯java第八届第六题--最大公共子串相关推荐

  1. 蓝桥杯java第八届第七题--日期问题

    标题:日期问题小明正在整理一批历史文献.这些历史文献中出现了很多日期.小明知道这些日期都在1960年1月1日至2059年12月31日.令小明头疼的是,这些日期采用的格式非常不统一,有采用年/月/日的, ...

  2. 蓝桥杯java第八届第十题--k倍区间

    标题: k倍区间给定一个长度为N的数列,A1, A2, ... AN,如果其中一段连续的子序列Ai, Ai+1, ... Aj(i <= j)之和是K的倍数,我们就称这个区间[i, j]是K倍区 ...

  3. 蓝桥杯java第八届第八题--包子凑数

    标题:包子凑数小明几乎每天早晨都会在一家包子铺吃早餐.他发现这家包子铺有N种蒸笼,其中第i种蒸笼恰好能放Ai个包子.每种蒸笼都有非常多笼,可以认为是无限笼.每当有顾客想买X个包子,卖包子的大叔就会迅速 ...

  4. 蓝桥杯java第八届第四题--魔方状态

    标题:魔方状态二阶魔方就是只有2层的魔方,只由8个小块组成. 如图p1.png所示.小明很淘气,他只喜欢3种颜色,所有把家里的二阶魔方重新涂了颜色,如下:前面:橙色 右面:绿色 上面:黄色 左面:绿色 ...

  5. 蓝桥杯java第八届第三题--承压计算

    标题:承压计算X星球的高科技实验室中整齐地堆放着某批珍贵金属原料.每块金属原料的外形.尺寸完全一致,但重量不同. 金属材料被严格地堆放成金字塔形.75 87 8 89 2 7 28 1 4 9 18 ...

  6. 蓝桥杯java第八届第五题--取数位

    标题:取数位求1个整数的第k位数字有很多种方法. 以下的方法就是一种.public class Main {static int len(int x){if(x<10) return 1;ret ...

  7. 2017年 第八届蓝桥杯 Java B组真题整理

    2017年 第八届蓝桥杯 Java B组真题整理 1.购物单 小明刚刚找到工作,老板人很好,只是老板夫人很爱购物.老板忙的时候经常让小明帮忙到商场代为购物.小明很厌烦,但又不好推辞.这不,XX大促销又 ...

  8. 2013第四届蓝桥杯Java组省赛题解析

    2013第四届蓝桥杯Java组省赛题解析 目录 第一题:高斯日记 第二题:马虎的算式 第三题:第39级台阶 第四题:黄金连分数 ​第五题:前缀判断 第六题:三部排序 ​第七题:错误票据 第八题:翻硬币 ...

  9. java蓝桥杯凑算是,第七届蓝桥杯JAVA B组真题解析-凑算式(第三题)

    第七届蓝桥杯JAVA B组真题解析-凑算式(第三题) 凑算式 A+B/C+DEF/GHI =10 (如果显示有问题,可以参见[图1.jpg]) 这个算式中AI代表19的数字,不同的字母代表不同的数字. ...

最新文章

  1. android wear升级方法,LG G Watch官方工具包刷Android wear5.1.1教程(附刷机包)
  2. 曼昆《经济学原理》(第五版)习题解答 第三章 相互依存性与贸易的好处
  3. Flink从入门到精通100篇(四)-基于 Flink 和 Drools 的实时日志处理
  4. VTK:网格之OBBDicer
  5. excel导入mysql语句_求助:用SQL语句从Excel将数据导入到SQL数据库
  6. netcore一键部署到linux服务器以服务方式后台运行
  7. 我的开源项目——Jerry
  8. 详解animate.css动画插件用法
  9. Ryu控制器正则表达式字符串 r'[0-9]{1,4}|all' 分析
  10. Python 清屏命令
  11. Linux下gzip、bzip、zip、tar压缩命令的使用详解
  12. 物联网工程专业该怎么学?老学长吐血整理!!
  13. 扫描件如何转换成pdf及word文档?
  14. 我们是如何设计出,让玩家们有“上瘾症”的抽卡系统的
  15. DNA序列编码中Hairpin的定义和计算
  16. 授人以鱼不如授人以渔——和女儿学一起学成语
  17. Linux 4.x MTD源码分析-cfi-flash设备probe过程分析
  18. excel表格横向纵向变换_EXCEL打印妙招!(专为新手打造)!
  19. 分布式系统基础--CAP理论
  20. 基于视角变化的视频关键帧提取方法(附代码地址)

热门文章

  1. stm32中断向量控制器
  2. 可视化篇(二)———使用matplotlib绘制常用3D图形及案例
  3. linux如何定期备份,在Linux系统中简单地实现定时备份的方法
  4. 区块链与边缘计算(2)功能介绍
  5. 深度探索C++ 对象模型(7)-Data member的布局(多重继承)
  6. python自动化测试locksetting/gatekeeper/keymaster/vts等
  7. linux kernel中的module_init/initcall代码导读
  8. 用户层CS段描述符信息
  9. php reverseShell
  10. 反编译apk文件教程(查看java代码篇)