编程之美Ex2——字符串移位包含的问题
给定两个字符串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——字符串移位包含的问题的更多相关文章
- 编程之美 3.1 字符串移位包含问 复杂度(O(N*K)
分享关于编程之美3.1自己编写的代码,很简单. s2.沿着s1匹配(循环匹配,利用%Length技巧),匹配上,返回true. //BOP3.1 char src[] = "AABBCD&q ...
- 编程之美2014挑战赛 复赛 Codehunt平台试题答案
var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...
- Python编程之美:最佳实践指南PDF高清完整版免费下载|百度云盘|Python新手到进阶
百度云盘:Python编程之美:最佳实践指南PDF高清完整版免费下载 提取码:1py6 内容简介 <Python编程之美:最佳实践指南>是Python用户的一本百科式学习指南,由Pytho ...
- t2712:字符串移位包含问题
t2712:字符串移位包含问题 总时间限制:1000ms 内存限制:65536kB描述 给定两个字符串s1和s2,要求判定其中一个字符串 是否是另一字符串通过循环移位后的子字符串.例 ...
- 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 ...
- 编程之美2.5:寻找最大的K个数
编程之美2.5:寻找最大的K个数 引申:寻找第k大的数: 方法一: // 选择第k大的数(通过改进快速排序来实现) public static void SelectShort(int[] array ...
- 24点C++程序实现 编程之美1.16
解法1,对于任意输入的四个数字,给出一个24点的解法,若无解,则没有输出. 原理参照下图(编程之美原书) 代码如下,仅供参考 // 1.16.cpp : Defines the entry point ...
- 2017“编程之美”终章:AI之战勇者为王
编者按:8月15日,第六届微软“编程之美”挑战赛在选手的火热比拼中圆满落下帷幕.“编程之美”挑战赛是由微软主办,面向高校学生开展的大型编程比赛.自2012年起,微软每年都在革新比赛命题.紧跟时代潮流, ...
- Openjudge-NOI题库-字符串移位包含问题
题目描述 Description 对于一个字符串来说,定义一次循环移位操作为:将字符串的第一个字符移动到末尾形成新的字符串. 给定两个字符串s1和s2,要求判定其中一个字符串是否是另一字符串通过若干次 ...
随机推荐
- 剑指Offer——最长不包含重复字符的子字符串
Solution 动态规划. f(i)表示包含第i个字符的最长子串. 如果第i个字符没在之前出现过,那么f(i) = f(i - 1) + 1 如果第i个字符在之前出现过,这个时候应该分两种情况,假设 ...
- 关于JBoss的一些项目配置
1. 如何使用 IP:port 的形式访问项目 : [1] 在standalone.xml文件中,查找<interfaces>标签,添加如下节点 : <interface name= ...
- HTop 防止进程重复显示
按F2 选择 Display options 选择 Hide userland threads 比Top更加好用!
- 【转】R语言知识体系概览
摘要:R语言的知识体系并非语法这么简单,如果都不了R的全貌,何谈学好R语言呢.本文将展示介绍R语言的知识体系结构,并告诉读者如何才能高效地学习R语言. 最近遇到很多的程序员都想转行到数据分析,于是就开 ...
- 修改linux系统用户最大线程数限制
linux系统对线程数量有个最大限制,当达到系统限制的最大线程数时使用账号密码ssh到系统时是无法登陆的,会报Write failed: Broken pipe,或者是shell request fa ...
- jmeter-01 JMeter HTTP测试的各元件功能演示示例
最小的测试将包括测试计划,线程组和一个或多个采样器. Jmeter HTTP测试的各元件演示示例 功能逻辑:wap官网(a.4399sy.com.hk),每个用户登录一次,发帖2次,发帖成功后注销退出 ...
- [MyEclipse]转:设置注释格式
Window --> Java --> Code Style --> Code Templates --> Comments --> types --> Edit ...
- constructor&object 的联系与对比
构造函数与对象 构造函数是类中的特殊成员函数,用于为对象分配内存.它可用于为数据成员提供值.创建对象时将调用构造函数.它与类具有相同的名称.构造函数不返回任何值. 构造函数是生成对象的模板,一个构造函 ...
- yii2手动添加插件PHPExcel
1.下载地址:https://github.com/PHPOffice/PHPExcel 2.解压并修改文件名为phpexcel 之后在yii项目的vendor目录下创建一个文件夹命名为phpoffi ...
- Python之路,Day8 - 面向对象编程进阶
本节内容: 面向对象高级语法部分 经典类vs新式类 静态方法.类方法.属性方法 类的特殊方法 反射 异常处理 Socket开发基础 作业:开发一个支持多用户在线的FTP程序 面向对象高级语法部分 经典 ...