`

《编程之美》字符串移位包含问题

 
阅读更多

《编程之美》字符串移位包含问题,个人觉得这个问题也可以通过求模的方式获得,代码如下
        String src="AABCD"; //源字符串
        String des="AABC";//匹配字符串
       
        char[] chsrc=src.toCharArray();
        char[] chdes=des.toCharArray();
       
        for(int i=0;i<chsrc.length;i++){
                int j=i;
                 for(;j<chdes.length+i;j++){
                     if(chdes[(j-i)%chsrc.length]!=chsrc[j%chsrc.length])break;  //依次匹配,大于的就求模
                 }
                
                 if(j==(chdes.length+i))System.out.println("true");
        }

 

最差的情况也是O(n^2),当然这里的比较还可以根据《算法导论》中的字符串匹配优化算法来获取,可以将时间复杂度进一步降低

0
1
分享到:
评论

相关推荐

    C 语言编程常见问题解答.chm

    C 语言编程常见问题解答 【作者】[美]Paul S.R. Chisholm 译:张芳妮 吕 波 【出版社】清华大学出版社 C语言编程常见问题解答(目录) 第l章 C语言 1. 1 什么是局部程序块(local block)? 1. 2 可以把变量保存...

    关于C的精粹包含至少200个C语言小程序

    205 字符串字母移位 206 Fibonacc数列 第七部分 游戏篇 207 商人过河游戏 208 吃数游戏 209 解救人质游戏 210 打字训练游戏 211 双人竞走游戏 212 迷宫探险游戏 213 迷你撞球游戏 214 模拟扫雷游戏 215...

    ASP.NET编程之道.part1.rar

    陷阱26 使用查询字符串在页面间传递参数 陷阱27 通用数据类型运算产生的陷阱 陷阱28 在模态窗口中下载文件 陷阱29 构造方法中调用虚方法的陷阱 陷阱30 使用值类型进行线程同步 第4章 开发人员意识中的20个常见谬误 ...

    200个经典C程序【源码】

    205 字符串字母移位 206 Fibonacc数列 第七部分 游戏篇 207 商人过河游戏 208 吃数游戏 209 解救人质游戏 210 打字训练游戏 211 双人竞走游戏 212 迷宫探险游戏 213 迷你撞球游戏 214 模拟扫雷游戏 215...

    c语言经典案例

    实例097 计算字符串中有多少个单词 126 实例098 不使用strcpy()函数实现 字符串复制功能 127 实例099 逆序存放数据 129 实例100 相邻元素之和 130 实例101 选票统计 131 实例102 使用数组统计学生成绩 132 实例103 ...

    Visual C++ 2010入门经典(第5版)--源代码及课后练习答案

    4.5.1 查找以空字符结尾的字符串的长度 174 4.5.2 连接以空字符结尾的字符串 174 4.5.3 复制以空字符结尾的字符串 176 4.5.4 比较以空字符结尾的字符串 177 4.5.5 搜索以空字符结尾的字符串 177 4.6 C++/CLI...

    C 语言实例解析精粹(第二版)(书+盘)

    205 字符串字母移位 206 Fibonacc数列 第七部分 游戏篇 207 商人过河游戏 208 吃数游戏 209 解救人质游戏 210 打字训练游戏 211 双人竞走游戏 212 迷宫探险游戏 213 迷你撞球游戏 214 模拟扫雷游戏 215...

    C语言实例解析精粹(第二版) 光盘代码

    205 字符串字母移位 206 Fibonacc数列 第七部分 游戏篇 207 商人过河游戏 208 吃数游戏 209 解救人质游戏 210 打字训练游戏 211 双人竞走游戏 212 迷宫探险游戏 213 迷你撞球游戏 214 模拟扫雷游戏 215 推箱子游戏 ...

    C语言编程要点

    12.5. 对字符串进行操作的标准库函数有哪些? 173 12.6. 对内存进行操作的标准库函数有哪些? 176 12.7. 怎样判断一个字符是数字、字母或其它类别的符号? 178 12.8. 什么是“局部环境(locale)”? 179 12.9. 有没有办法...

    c程序设计习题参考(谭浩强三版)习题参考解答

    10.5有一字符串,包含n个字符。写一个函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符串。 76 10.6输入一行文字,找出其中大写字母,小写字母,空格,数字及其他字符各有多少。 77 10.7写一个函数,...

    C语言精粹(第2版)随书关盘

    205 字符串字母移位 206 Fibonacc数列 第七部分 游戏篇 207 商人过河游戏 208 吃数游戏 209 解救人质游戏 210 打字训练游戏 211 双人竞走游戏 212 迷宫探险游戏 213 迷你撞球游戏 214 模拟扫雷游戏 215...

    松下PLC FP 指令说明.xlsx

    逻辑运算指令,数据转换指令,字符串指令,整形数据处理指令,整形数非线性函数指令,BCD型实数运算指令,浮点型实数运算指令,浮点型实数数据处理指令,时系列处理指令,比较指令,索引寄存器Bank指令,文件寄存器...

    C/C++面试题目及解答.doc

    鉴于 memcpy 函数等长拷贝的特点以及数据类型代表的物理意义,memcpy 函数通常限于同种类型数据或对象之间的拷贝,其中当然也包括字符串拷贝以及基本数据类型的拷贝。 &lt;br&gt;对于字符串拷贝来说,用上述三个函数都...

    揭秘数据解密的关键技术

    2.2 汇编中的字符串——C语言中的字符串 2.2.1 字符串的定义 2.2.2 字符串的实现机制 2.3 汇编中的数组——C语言中的数组 2.3.1 数组的定义 2.3.2 数组的实现机制 2.3.3 二维数组的实现机制 2.4 汇编中的结构体——...

    PIC单片机常用模块与典型实例 代码及模拟文件

    1.随书所赠光盘中包括本书的配套软件、项目源代码和多媒体课件。 2.书中每个例子的所有源文件都保存在相应章节的文件夹下,每个文件夹分别命名为“SMN”的形式,其中“M”代表章号,“N”代表例子序号,例如“S041”...

    设计模式实验java版

    某系统提供了一个数据加密功能,可以对字符串进行加密。最简单的加密算法通过对字母进行移位来实现,同时还提供了稍复杂的逆向输出加密,还提供了更为高级的求模加密。7.某系统需要提供一个文件加密模块,加密流程...

    C源代码实例集

    ◎ 文件说明 本文件包括以下内容: ※ 1、文件说明 ※ 2、源码操作说明 ※ 3、光盘目录清单 &lt;br&gt; ◎ 源码操作说明 &lt;br&gt; 源代码使用方法是(以实例1为例): 将该实例...

    汇编语言程序设计 第二版

     书中附有一些基本的编程辅助信息,这些信息包括各种按键的码值和显示颜色信息等。在Windows应用程序的编写部分,附录中给出了编程中所用到的一些常量列表和函数功能的说明。这些辅助信息可为编程带来一定的方便,...

Global site tag (gtag.js) - Google Analytics