zoukankan
html css js c++ java
KMP算法
因为在做大文件上传的分析中需要用到一段字符串的匹配算法,所以重新学习了一次KMP算法.
private
int
[] GetNextVal(
string
t)
{
int
j
=
0
, k
=
-
1
;
int
[] nextVal
=
new
int
[t.Length];
nextVal[
0
]
=
-
1
;
while
(j
<
t.Length
-
1
)
{
if
(k
==
-
1
||
t[j]
==
t[k])
{
j
++
;
k
++
;
if
(t[j]
!=
t[k])
{
nextVal[j]
=
k;
}
else
{
nextVal[j]
=
nextVal[k];
}
}
else
{
k
=
nextVal[k];
}
}
return
nextVal;
}
private
int
KmpIndexOf(
string
s,
string
t)
{
int
i
=
0
, j
=
0
, v;
int
[] nextVal
=
GetNextVal(t);
while
(i
<
s.Length
&&
j
<
t.Length)
{
if
(j
==
-
1
||
s[i]
==
t[j])
{
i
++
;
j
++
;
}
else
{
j
=
nextVal[j];
}
}
if
(j
>=
t.Length)
v
=
i
-
t.Length;
else
v
=
-
1
;
return
v;
}
查看全文
相关阅读:
mysql常用语句、命令(增删改查功能)
MySQL 入门知识点
windows下安装mysql解压版
第4章 HDFS操作
第3章 Hadoop 2.x分布式集群搭建
第2章 CentOS7集群环境配置
第1章 VMware中安装CentOS7
windows10激活方法
linux系统下操作mysql数据库常见命令
xampp搭建开源项目iwebshop后,服务器重启后再启动xampp显示组件都启动ok,但是实际启动失败解决办法
原文地址:https://www.cnblogs.com/afxcn/p/1231831.html
最新文章
关于int类型表示的最大位数
Apache的Order Allow,Deny 详解
关于Yii2中的MVC中的视图总结(持续更新中)
Thinkphp3.2邮件发送
Unable to verify your data submission.加入了_csrf也报400错误的解决
多文件上传
from表单,图片预览,和表单提交
yii2下的路由重写
运算符
自增与自减
热门文章
数据类型和类型转换
常见的Dos命令大全
信用卡业务知识
java常用的格式化
循序渐进学设计模式(一)
java基础 内部类详解
Java字符串类型详解
java关于传值与传引用
java 基本类型详解 及 常见问题
第一篇博文
Copyright © 2011-2022 走看看