社区
C#
帖子详情
求一个字符串差异比较算法
mademelaugh
2006-03-18 11:30:04
给出源字符串和目标字符串,要比较出相对于源字符串,目标字符串在哪里插入了字符,在哪里删除了字符。
如str1="abcde";str2="acd2ef";
要知道曾经删除b并插入了2和f。
...全文
199
8
打赏
收藏
求一个字符串差异比较算法
给出源字符串和目标字符串,要比较出相对于源字符串,目标字符串在哪里插入了字符,在哪里删除了字符。 如str1="abcde";str2="acd2ef"; 要知道曾经删除b并插入了2和f。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
mademelaugh
2006-03-20
打赏
举报
回复
已解决,lcs问题
independently
2006-03-18
打赏
举报
回复
楼上的,不能那样啊,可能有很多重复的字符,不能那么草率判断的!
serversql
2006-03-18
打赏
举报
回复
循环str1,在str2查找,如果没有 就是删除掉了
循环str2,在str1查找,如果没有 就是添家了
还可以知道是哪个位置
不过,字符串不要太长!
independently
2006-03-18
打赏
举报
回复
首先你提的需求是不够明确,我举个例子,例如源字符串是"abcdefg",目标字符串是"abcdmdeefg",这当中可能经过了几个转换:1直接在源字符串中d字符后插入mde;2、在源字符串中d字符后插入md后,再在源字符串中e字符后插入字符e。这样的话就没法实现你的要求。在检测过程中,如果遇到类似的问题,得有个优先级问题。看你怎么取舍了
lxjlz
2006-03-18
打赏
举报
回复
up
independently
2006-03-18
打赏
举报
回复
恩。本来想写一个呢,可惜电脑坏啦,要到周一才能修。在用别人的电脑,没有编程工具
兔子-顾问
2006-03-18
打赏
举报
回复
尝试改良kmp。每次判断主串当前剩下的字串的最大重复位置,再这之前的认为是插入或修改的部分。回头有兴趣的可以写一下。应该蛮有趣。
mademelaugh
2006-03-18
打赏
举报
回复
To:independently(我是风筝高高飞)
我不需要比较过程以及细节,只需要比较最终的差异。如果要排优先级,肯定是从前往后去尽量大的相同部分了。
Java实现
字符串
相似度
算法
,用于试题相似度,
字符串
相似度,
字符串
比较
等场景
使用Levenshtein(莱文斯坦)编辑距离来实现相似度
算法
所谓Levenshtein距离,是指两个字串之间,由
一个
转成另
一个
所需的最少编辑操作次数,操作包括一切你使用的手段将
一个
字符串
转换成另
一个
字符串
,比如插入
一个
...
字符串
比较
算法
* 主串长度为 m,子串长度为 n,
算法
的复杂度为 O(m*n) * @param parent * @param sub * @return */ public static boolean match(String parent, String sub) { for(int i = 0; i < parent.length(); i ...
如何在 Python 中查找两个
字符串
之间的
差异
位置?
该
算法
比较
两个
字符串
的对应字符,将不同的位置添加到
差异
位置列表中。首先,我们确定较短
字符串
的长度,然后使用
一个
循环遍历对应位置上的字符进行
比较
。如果字符不相等,我们将该位置添加到
差异
位置列表中。接下来...
java
字符串
差异
比较
工具类
java
字符串
差异
比较
工具类 场景 比如说,前后授权对比,两个
字符串
的
差异
对比,
比较
前后两次字段的
差异
情况等等场景。 工具类 工具类源码: package com.bonc.modules.sys.controller; import ...
字符串
相似度
算法
字符串
相似度
算法
编辑距离
算法
解析
C#
110,538
社区成员
642,577
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章