zoukankan
html css js c++ java
串的模式匹配算法之二:首尾匹配算法
using
System;
namespace
EasyIndex
{
class
Index
{
static
void
Main(
string
[] args)
{
string
s
=
"
acabaabcaabaabcac
"
;
string
m
=
"
abaabcac
"
;
int
i
=
0
;
int
j
=
0
;
while
(i
<
s.Length
&&
j
<
m.Length)
{
if
(s[i]
==
m[
0
])
//
判断两串的第一个元素是否相等
{
if
(s[i
+
m.Length
-
1
]
==
m[m.Length
-
1
])
//
如果头元素相等,再判断尾元素是否相等;
{
i
=
1
;
j
=
0
;
while
(i
<
s.Length
&&
j
<
m.Length)
//
如果头尾都相等,再从第二个元素到倒数第二个元素判断;
{
if
(s[i]
==
m[j])
{
i
++
;
j
++
;
}
else
{
i
=
i
-
j
+
1
;
j
=
0
;
}
}
}
else
{
i
=
i
-
j
+
1
;
j
=
0
;
}
}
else
{
i
=
i
-
j
+
1
;
j
=
0
;
}
}
if
(j
>=
m.Length)
//
说明m是s的一个子串,而且pos是i-m.Lengh+1,因为数组从0开始计数;
{
Console.WriteLine(
"
m与s中第
"
+
Convert.ToString(i
-
m.Length
+
1
)
+
"
个元素开始的子串相匹配!
"
);
}
else
{
Console.WriteLine(
"
m不是s的子串!
"
);
}
}
}
}
查看全文
相关阅读:
CURD演示 2
CURD演示 2
测试关闭mojo utf-8
测试关闭mojo utf-8
mojo 关闭utf8
mojo 关闭utf8
标准Web系统的架构分层
Myeclipse学习总结(6)——MyEclipse断点调试
RabbitMQ学习总结(7)——Spring整合RabbitMQ实例
RabbitMQ学习总结(7)——Spring整合RabbitMQ实例
原文地址:https://www.cnblogs.com/gmq/p/515610.html
最新文章
批量操作 提高计算速度
Estimating duration from bitrate, this may be inaccurate
Python执行系统命令并获得输出的几种方法
避免重复写
深度神经网络环境 搭建
FFmpeg将多张图片合成视频 子视频合并
加减乘除的决策
ImportError: cannot import name _imaging
在java程序中,对于数据的输入/输出操作以“流”(stream)方式进行
“函数计算”的中间临时文件如何存放 无服务 架构
热门文章
ffmpeg url
ffmpeg-linux32-v3.3.1
autoreload 线程 进程管理 并发的处理方法
深度神经网络 广告相似人群扩展
第二步:将LAD结果的属性值二(多)值化,投入计算模型
利用函数计算构建微信小程序的Server端
perl 异步请求和JS对比
perl 异步请求和JS对比
异步本身不会超时 报错
异步本身不会超时 报错
Copyright © 2011-2022 走看看