google kmp lcs algorithm
解决方案 »
- (在线等)急!!!怎么用excel表转.txt
- 在线等待:将一个txt文件(无汉字)的内容转入一个access数据库
- 关于MSChart的问题?知道的人进来看一下!
- 怎么在动态库里引用vb自带的控件?
- 请问高手应该怎么给播放中的视频动态添加一些内容
- 关于Vsflexgrid控件的帮助文档
- 四个小问题,分不多,一个15分,请帮忙解决.
- run-time error: 429
- 奇怪的托盘,我在新建的窗体中添加代码运行正常,将它复制到一个已有的程序中左键、右键单击托盘没有任何反应,也无菜单弹出,谁见过这种
- 用VB怎样改变一个以有文件的图标?
- 求助:163企业邮箱如何用http协议发送邮件
- 软件多用户使用,一个用户修改数据,其他用户都可以看到
Dim sResult As StringsSource = "A0012B2C56DE34H"
ReDim bResult(Len(sSource) - 1)
For i = 1 To Len(sSource)
If Mid(sSource, i, 1) <= "9" Then
n = n + 1
bResult(n - 1) = Asc(Mid(sSource, i, 1))
ElseIf i > 1 Then
If Mid(sSource, i - 1, 1) <= "9" Then
n = n + 1
bResult(n - 1) = 32
End If
End If
Next i
ReDim Preserve bResult(n - 1)
sResult = StrConv(bResult, vbUnicode)MsgBox sResult
假设:
原串:S1="ABCDEFGHIJKLMNOPQRST"
新串:S2="A01BB235CDE589F695GH785I345J1312KLMN9897OOPQ898R234S34STT"
新串中红色部分为插入与原串中相同的字符
分块比较是:S1,S2从左边开始每次都截相同长度进行比较,载取长度定义为L变量,中间字符串定义为变量S3,初值S3=S2
如果S1L=S2L就不处理 '// 分块的目的就是这步可以节省一点时间
如果S1L<>S2L,逐个比较找出不相同的字符存入动态数组Z(),然后把S2L中不相同字符替换为空赋值给变量T=replace(S2L,Z(n),"") ,S3=replace(S3,S2L,T)
如果S3=S1结束
如果S3<>S1循环从下一个位置开始截取比较。分块应该是有效率的吧,假设
S1长度1000
S2长度1001
只要找到一次不相同的程序就结束了,不必一一比较
我想红色部分应该也能正确找出