给定两个字符串s1,s2,要求判定s2是否能够被s1做循环移位得到的字符串包含。

例如,

给定s1=AABCD和s2=CDAA,返回true;

给定s1=ABCD和s2=ACBD,返回false。

法一:直接循环移位,用strstr()比较

 #include <iostream>
#include <string>
using namespace std; bool Check(char src[], char des[]); int main()
{
char src[] = "AABBCD";
char des[] = "CDAA"; bool res = Check(src,des);
if(res)
cout<<"true"<<endl;
else
cout<<"false"<<endl; return ; } bool Check(char src[], char des[])
{
char temp = src[];
bool res = false;
for(int i=; i<strlen(src); ++i)
{
for(int j=; j<strlen(src)-;++j)
{
src[j] = src[j+];
}
src[strlen(src)-] = temp; if(strstr(src,des) != NULL)
res = true;
}
return res;
}

法二:s2必然在s1s1之中,用空间换取时间。

编程之美Ex2——字符串移位包含的问题的更多相关文章

  1. 编程之美 3.1 字符串移位包含问 复杂度(O(N*K)

    分享关于编程之美3.1自己编写的代码,很简单. s2.沿着s1匹配(循环匹配,利用%Length技巧),匹配上,返回true. //BOP3.1 char src[] = "AABBCD&q ...

  2. 编程之美2014挑战赛 复赛 Codehunt平台试题答案

    var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...

  3. Python编程之美:最佳实践指南PDF高清完整版免费下载|百度云盘|Python新手到进阶

    百度云盘:Python编程之美:最佳实践指南PDF高清完整版免费下载 提取码:1py6 内容简介 <Python编程之美:最佳实践指南>是Python用户的一本百科式学习指南,由Pytho ...

  4. t2712:字符串移位包含问题

    t2712:字符串移位包含问题   总时间限制:1000ms  内存限制:65536kB描述    给定两个字符串s1和s2,要求判定其中一个字符串    是否是另一字符串通过循环移位后的子字符串.例 ...

  5. LeetCode:Climbing Stairs(编程之美2.9-斐波那契数列)

    题目链接 You are climbing a stair case. It takes n steps to reach to the top. Each time you can either c ...

  6. 编程之美2.5:寻找最大的K个数

    编程之美2.5:寻找最大的K个数 引申:寻找第k大的数: 方法一: // 选择第k大的数(通过改进快速排序来实现) public static void SelectShort(int[] array ...

  7. 24点C++程序实现 编程之美1.16

    解法1,对于任意输入的四个数字,给出一个24点的解法,若无解,则没有输出. 原理参照下图(编程之美原书) 代码如下,仅供参考 // 1.16.cpp : Defines the entry point ...

  8. 2017“编程之美”终章:AI之战勇者为王

    编者按:8月15日,第六届微软“编程之美”挑战赛在选手的火热比拼中圆满落下帷幕.“编程之美”挑战赛是由微软主办,面向高校学生开展的大型编程比赛.自2012年起,微软每年都在革新比赛命题.紧跟时代潮流, ...

  9. Openjudge-NOI题库-字符串移位包含问题

    题目描述 Description 对于一个字符串来说,定义一次循环移位操作为:将字符串的第一个字符移动到末尾形成新的字符串. 给定两个字符串s1和s2,要求判定其中一个字符串是否是另一字符串通过若干次 ...

随机推荐

  1. python文件打开的几种访问模式

    文件打开的几种访问模式 访问模式 说明 r 以只读方式打开文件.文件的指针将会放在文件的开头.这是默认模式. w 打开一个文件只用于写入.如果该文件已存在则将其覆盖.如果该文件不存在,创建新文件. a ...

  2. 在Mac中如何正确地设置JAVA_HOME

    前期准备 下载JDK安装包:在JDK1.8下载中选择Mac的JDK安装包 安装JDK:这里只要按照安装指引一步一步安装即可 查找JAVA_HOME 打开Mac的终端,检查JDK是否安装成功:java ...

  3. (转帖) 为Docker容器指定自定义网段的固定IP/静态IP地址

    作者:雨水,日期:2016-04-09  CSDN博客: http://blog.csdn.net/gobitan 摘要:Docker容器运行的时候默认会自动分配一个默认网桥所在网段的IP地址.但很多 ...

  4. filezilla无法启动传输及严重文件传输错误

    filezilla无法启动传输 严重文件传输错误 文件夹权限不够,修改之. 你的空间或服务器已经满了,请空下回收站或者扩容. 文件正在被占用,关闭后传输 ​

  5. Elasticsearch6.0之二:常用语句

    // 查看集群状态 GET /_cluster/health?pretty // 查看所有索引配置信息 Get _all/_settings // 查看所有索引状态 GET /_cat/indices ...

  6. hdu 5696 区间的价值 单调栈+rmq

    区间的价值 Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Problem D ...

  7. (转载)gcc & gdb & make 定义与区别

    gcc & gdb & make 定义与区别 GCC 通常所说的GCC是GUN Compiler Collection的简称,除了编译程序之外,它还含其他相关工具,所以它能把易于人类使 ...

  8. BOM(Browser Object Model) 浏览器对象模型

    JavaScript 实现是由 3 个部分组成:核心(ECMAScript),文档对象模型(DOM),浏览器对象模型(BOM) BOM(Browser Object Model) 浏览器对象模型BOM ...

  9. dva-loading使用方法

    1. 下载dva-loading npm install dva-loading --save 2. 导入并使用dva-loading import createLoading from 'dva-l ...

  10. yii2在linux下面无法启用gii

    原因:linux下面默认的Gii只能通过127.0.0.1来访问,也就是本机访问,安全: 解决:在conf/main-local.php添加自己的ip