题目:
给一串很长字符串,要求找到符合要求的字符串,例如目的串:123
1******3***2 ,12*****3这些都要找出来
其实就是类似一些和谐系统。
分析:
自然匹配就是对待匹配的每个字符挨个匹配
设你的待匹配字串长度位n,模式字符串长度位m.
对于待匹配字符串中的任意一个字符最坏情况下要匹配m次,也就是说这个字符不在模式字符串中。
所以最坏情况下总共是m*n此匹配,时间复杂度就是O(m*n)
更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/sjjg/
可以简单的实现下:
#include<iostream> #include<string.h> using namespace std; void search_str(char* src, char* dst) { for(int i=0; i < strlen(src); i++) { int j = 0; for(j = 0; j < strlen(dst); j++) if(src[i] == dst[j]) break; if(j < strlen(dst)) cout << src[i]; else cout << "*"; } } int main() { char s[] = "12436781563"; char d[] = "123"; search_str(s, d); return 0; }
输出结果如下:
12*3***1**3
作者:csdn博客 hhh3h
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索字符串
, strlen
, dst
, 面试题
, 字符
, 长度
, gson解析空字符串
, 面试常用算法
算法面试题
,以便于您获取更多的相关知识。