根据上篇文章所说,填充二维数组的数据

String[] text1Words = text1.split("");
String[] text2Words = text2.split("");int text1Length = text1Words.length;
int text2Length = text2Words.length;int[][] lcsResult = new int[text1Length + 1][text2Length + 1];
for (int i = 0; i <= text1Length-1; i++) {for (int j = 0; j <= text2Length - 1 ; j++) {if (text1Words[i].equals(text2Words[j])) {lcsResult[i][j] = lcsResult[i + 1][j + 1] + 1;} else {lcsResult[i][j] = Math.max(lcsResult[i + 1][j], lcsResult[i][j + 1]);}}
}

下面我们找出相似数组的数据

int i = 0, j = 0;
ArrayList<String> lcsResultList = new ArrayList<>();while (i < text1Length && j < text2Length) {if (text1Words[i].equals(text2Words[j])) {lcsResultList.add(text2Words[j]);i++;j++;} else if (lcsResult[i + 1][j] >= lcsResult[i][j + 1]) {i++;} else {j++;}
}

lcsResultList 即是我们最终需要的结果

测试:

String text1 = "zxcvbnmasdfgh";
String text2 = "azsxdcfvgbhnjmklqawsded";

结果:

LCS算法 文本对比的实现相关推荐

  1. C#,深度好文,精致好码,文本对比(Text Compare)算法与源代码

    Vladimir I. Levenshtein 一.文本对比的列文斯坦距离(编辑距离)算法 在日常应用中,文本比较是一个比较常见的问题.文本比较算法也是一个老生常谈的话题. 文本比较的核心就是比较两个 ...

  2. 文本检测算法性能对比

    文本检测算法性能对比 1. 任意四边形文本数据集 1.1 ICDAR15[^1] 2. 曲形文本数据集 2.1 CTW1500[^10] 2.2 Total-Text[^11] 本文会一直更新经典的. ...

  3. 富文本对比算法的java实现源码,实现类似word修订记录功能

    富文本对比算法的java实现 文本比较算法利用了两种比较算法,Needleman/Wunsch算法以及google-diff-match-patch算法,对Needleman/Wunsch进行了些许改 ...

  4. 文本相似度算法的对比及python实现

    文本相似度算法的对比及python实现 前言 通常我们有这样的需求:对两篇文章或者产品内容进行重复率查询. 为了解决类似的问题,罗列了一些常见的相似度算法,用python代码实现. 五种常见的相似度算 ...

  5. python实现文本相似度算法的对比及

    文本相似度算法的对比及python实现 前言 通常我们有这样的需求:对两篇文章或者产品内容进行重复率查询. 为了解决类似的问题,罗列了一些常见的相似度算法,用python代码实现. 五种常见的相似度算 ...

  6. 文本对比,文本差异并排对比显示实现

    目录 前言 方法一:java + html实现 1..准备 2..后端实现 3..测试和效果 方法二:Mergely纯javascript实现 1.Mergely使用示例 2.效果图 3.使用示例中用 ...

  7. nlp算法文本向量化_NLP中的标记化算法概述

    nlp算法文本向量化 This article is an overview of tokenization algorithms, ranging from word level, characte ...

  8. 高、低成本MEMS惯导系统姿态、位置、速度更新算法的对比

    高.低成本MEMS惯导系统姿态.位置.速度更新算法的对比 一.高成本MEMS惯导系统姿态.位置.速度更新算法 1.速度更新 2.位置更新 3.姿态更新 4.程序仿真及实验结果 4.1 主函数 4.2 ...

  9. Linux 文本对比 diff

    一.diff介绍 windows系统下面就有不错的文本对比工具可以使用,例如常用的Beyond Compare,WinMerge都是图形界面的比较工具而且使用非常方便,如果你仅仅是在windows下工 ...

  10. LCS算法:最长公共子序列

    LCS算法:最长公共子序列定义: 一个序列A任意删除若干个字符得到新序列B,则A叫做B的子序列 两个序列X和Y的公共子序列中,长度最长的那个,定义为X和Y的最长公共子序列 例如: X={A,B,C,B ...

最新文章

  1. 数据结构:二分查找 java
  2. tomcat项目快速启动设置
  3. 算法导论之动态规划(最长公共子序列和最优二叉查找树)
  4. mysql分区失败_MYSQL表分区操作错误1503解决方案
  5. Yii调用参数配置文件params
  6. python 文件遍历
  7. 【Verilog HDL】第三章 reg和net及其一组类型的区别——充分运用实验思维
  8. laravel 自带的用户登录视图路径_Laravel实现找回密码及密码重置,详细操作
  9. 寄存器分配图着色_【02】从零开始的卡通渲染-着色篇1
  10. vscode 注释插件
  11. 计算机睡眠断网,win7睡眠不断网设置方法汇总
  12. 02 Toolbar的使用
  13. android发送短信界面,android调用系统发送短信 和 已发送短信界面
  14. 如何学习、如何画思维导图
  15. 仿微信 即时聊天工具 - SignalR (一)
  16. SOUI使用过程知识点小结1
  17. 基于SSM框架的个人博客系统项目毕业设计(代码及论文)
  18. miniGUI源码分析:消息机制
  19. Gamma.app:由AI驱动,一种呈现想法的新媒介
  20. android 5.1 flash,Flash Player for Android 4.0 and 5.1 以上版本(提供下載)

热门文章

  1. 机器学习十大算法实现代码汇总(python)----线性回归、逻辑回归、决策树、支持向量机、朴素贝叶斯、K邻近算法、K-均值算法、随机森林、降低维度算法、梯度增强算法
  2. python中的对数_python中计算log对数的方法
  3. PPT的视频由于无编码解码器无法播放问题
  4. 一句口诀记住 OSI七层协议模型
  5. Java遍历文件夹及图像缩放批处理
  6. 上海电力大学本科毕业论文答辩PPT模板
  7. 陶教授,我记不住定理的证明该怎么办?(我看到陶哲轩在博客上与学生一则有意思的互动,就翻译过来了)...
  8. Linux I2C 驱动实验
  9. SQL语句的增删改查(详细)
  10. Ansys DesignModeler