字符串移位包含问题
来源:互联网 发布:倩女幽魂能用mac电脑吗 编辑:程序博客网 时间:2024/04/28 11:39
在编程之美3.1中,此题解法是用strstr()函数,并且以空间换时间,其实只要用循环遍历即可
其时间复杂度: k < O(n) < k + n, 其中k为查找串的长度,n为数据串的长度,空间复杂度为O(1)。
代码如下
#include<iostream>using namespace std;int findSubStr(char source[], char subStr[], int sLen, int oLen){ if(source == NULL || subStr == NULL || sLen <=0 || oLen <=0) { return -1; } int isShifting = 0; for(int i = 0; i < sLen; i++) { if(subStr[0] == source[i]) { isShifting = 1; int s_index = i + 1; for(int j = 1; j < oLen; j++) { if(source[s_index] == subStr[j]) { s_index++; if(s_index < sLen) continue; else s_index = 0; } else { isShifting = 1; i = s_index - 1; break; } } } } return isShifting;}int main(){ char source[] = "AABCDAACDB"; char subStr[] = "CDBA"; int sLen = strlen(source); int oLen = strlen(subStr); if(findSubStr(source,subStr, sLen, oLen) == 1) cout << "True.." << endl; else cout << "False.." << endl; return 0;}
:
0 0
- 字符串移位包含问题
- 字符串移位包含问题
- 字符串移位包含问题
- 字符串移位包含问题
- 字符串移位包含问题
- 字符串移位包含问题
- 字符串移位包含问题
- 字符串移位包含问题
- 字符串移位包含问题
- 字符串移位包含问题
- 字符串移位包含问题
- 字符串移位包含问题
- 字符串移位包含问题
- 字符串移位包含问题
- 字符串移位包含问题
- 字符串移位包含的问题
- 3.1字符串移位包含问题
- 字符串移位包含的问题
- deep learning Deep Belief networks for image denoising
- TopCoder兼职赚钱入门
- Android实现自定义个性化下拉列表
- awr报表
- iOS中Block介绍(一)基础
- 字符串移位包含问题
- Android 应用程序窗体显示状态操作(requestWindowFeature()的应用)
- 余额宝一周年:让从未理财的人有了理财意识
- 理解WebKit和Chromium: WebKit和Chromium组成
- 六月,琐事
- Windows下的Objective-C集成开发环境(IDE)(转)
- 苹果新的编程语言 Swift 语言进阶(七)--枚举、结构、类
- Eclipse无辅助技巧和语句提示解决方法
- 版本控制