题目:

给定某字符串,判断该字符串中是否包含HelloWorld,出现HelloWorld不一定要连续,但顺序不变,如“HeByello,ByeWorByeld”就包含“HelloWorld”。

思路:

通过i,j来遍历两个字符串str1,str2(HelloWorld),假设长度分别为m,n;

当i>m或者j>n,则不包含;

当i<m且j==n-1,且str1[i]==str2[j],则包含;

当i<m且j<n,如果str1[i]==str2[j],i++,j++;否则,i++;

可以通过递归来实现,也可以通过循环来实现,详见代码。

代码:

#include<iostream>

using namespace std;

void IsHelloWorld(string word1,string word2,int i,int j,bool &flag){
int m=word1.size();
int n=word2.size(); if(i>=m || j>=n)
return; if(j==n-){
if(word1[i]==word2[j])
flag=true;
} else if(word1[i]==word2[j])
IsHelloWorld(word1,word2,i+,j+,flag); else
IsHelloWorld(word1,word2,i+,j,flag);
} bool IsHelloWorld_Recursive(string word1,string word2){
int m=word1.size();
int n=word2.size();
if(m<n)
return false; bool flag=false;
IsHelloWorld(word1,word2,,,flag); return flag;
} bool IsHelloWorld(string word1,string word2){
int m=word1.size();
int n=word2.size(); int i=;int j=;
while(i<m && j<n){
if(j==n-){
if(word1[i]==word2[j])
return true;
}
else if(word1[i]==word2[j]){
i++;
j++;
}
else
i++;
}
return false;
} int main(){
string word1="HeMylloHelloNameWorIsldHAHA";
string word2="HelloWorld"; cout<< IsHelloWorld_Recursive(word1,word2) <<endl;
cout<< IsHelloWorld(word1,word2) <<endl; return ;
}

(算法)判断字符串中是否包含HelloWorld的更多相关文章

  1. PHP判断字符串中是否包含指定字符串,支持中文哦

    RT,随手写的 /** * 判断字符串中是否包含指定字符串 * @var source 源字符串 * @var target 要判断的是否包含的字符串 * @return bool */ functi ...

  2. [C#]判断字符串中是否包含中文

    关键代码: /// <summary> /// 判断字符串中是否包含中文 /// </summary> /// <param name="str"&g ...

  3. java判断字符串中是否包含中文 过滤中文

    package com.test; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Test ...

  4. java 判断字符串中是否包含中文并过滤掉中文

      java判断字符串中是否包含中文并过滤掉中文 CreateTime--2017年9月6日08:48:59 Author:Marydon 1.判断字符串中是否包含中文方法封装 /** * 判断字符串 ...

  5. 判断字符串中是否包含Emoji表情代码

    判断字符串中是否包含Emoji表情代码: + (BOOL)stringContainsEmoji:(NSString *)string { __block BOOL returnValue = NO; ...

  6. python判断字符串中是否包含子字符串

    python判断字符串中是否包含子字符串 s = '1234问沃尔沃434' if s.find('沃尔沃') != -1:     print('存在') else:     print('不存在' ...

  7. php字符串查找函数 php查找字符串中出现的次数函数substr_count,判断字符串中是否包含另一个字符串函数strpos

    php字符串查找函数 php查找字符串中出现的次数函数substr_count,判断字符串中是否包含另一个字符串函数strpossubstr_count($haystack, $needle [,$o ...

  8. Node.js之判断字符串中是否包含某个字符串

    server.txt内容如下: 阿里云服务器 关于应用场景,就不多说了,字符串是不论是后端开发还是前端开发等,都是要经常打交道了. test.js(node.js代码,只要被本地装了node.js环境 ...

  9. ***用php的strpos() 函数判断字符串中是否包含某字符串的方法

    判断某字符串中是否包含某字符串的方法 if(strpos('www.idc-gz.com','idc-gz') !== false){ echo '包含'; }else{ echo '不包含'; } ...

随机推荐

  1. hdu 3613 扩展kmp+回文串

    题目大意:给个字符串S,要把S分成两段T1,T2,每个字母都有一个对应的价值,如果T1,T2是回文串(从左往右或者从右往左读,都一样),那么他们就会有一个价值,这个价值是这个串的所有字母价值之和,如果 ...

  2. 【HDU】2866:Special Prime【数论】

    Special Prime Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Tot ...

  3. 90. 子集 II

    90. 子集 II 题意 给定一个可能包含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集). 说明:解集不能包含重复的子集. 示例: 输入: [1,2,2]输出:[ [2], [1], ...

  4. Python 学习笔记一

    前言 这篇博客是在学习某个网站时记录下来的,所以其纪录的顺序和那个网站里面一样,有些知识点已经大概了解了就不再赘述. 基础 字符串和编码 在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或 ...

  5. Nodejs线上日志部署

    Nodejs 被越来越多的使用到线上系统中,但线上系统没有日志怎么行呢. 一.forever记录日志 我的线上系统使用forever来启动服务,最开始就直接使用了forever来记录 forever ...

  6. mysqld 多线程 用pstree -p 显示

    http://blog.chinaunix.net/uid-22566367-id-3751084.html http://blog.csdn.net/fly2nn/article/details/6 ...

  7. xcode4 语法高亮和自动补全失效的解决办法

    xcode4 语法高亮和自动补全失效的解决办法xcode4有一个bug,某些时候会造成类名的着色显示不出来,还有就是代码补全不能完全显示,而且没有参数. 解决方法: 首先关闭项目窗口,然后到Organ ...

  8. Windows 8 Metro 应用开发入门(一):开发环境介绍

    摘 要 Windows8已经发布,随之而来的基于WinRT的Metro应用也正向我们走来,正像它所宣传的:光滑.快.现代.看习惯了玻璃.立体风格的应用,或许Metro的简洁能给你留下不一样的体验.Vi ...

  9. jsp页面传递参数是如何与javabean进行关联的

    总结:1.severlet容器是通过JavaBean中的属性方法名来获取属性名的,然后根据此属性名来从request中取值 2.JavaBean中属性方法的命名,set后的名称要与你从request中 ...

  10. Quartz调用大全

    Quartz调用大全 1.Quartz应用范围广泛,可单独执行也可在spring中嵌入执行. 类似的定时任务在linux下可以用crontab执行 2.实现代码: QuartzTest :主要执行类 ...