当前位置:网站首页>CareerCup它1.8 串移包括问题
CareerCup它1.8 串移包括问题
2022-07-05 20:48:00 【全栈程序员站长】
大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。
【称号】
原文:
1.8 Assume you have a method isSubstring which checks if one word is a substring of another. Given two strings, s1 and s2, write code to check if s2 is a rotation of s1 using only one call to isSubstring ( i.e., “waterbottle” is a rotation of “erbottlewat”).
译文:
如果你有一个isSubstring函数,能够检測一个字符串是否是还有一个字符串的子串。 给出字符串s1和s2。仅仅使用一次isSubstring就能推断s2是否是s1的旋转字符串, 请写出代码。旋转字符串:”waterbottle”是”erbottlewat”的旋转字符串。
【分析】
我们也能够对循环移位之后的结果进行分析。 以S1 = ABCD为例,先分析对S1进行循环移位之后的结果,例如以下所看到的: ABCD—>BCDA—->CDAB—->DABC—->ABCD…… 如果我们把前面的移走的数据进行保留。会发现有例如以下的规律: ABCD—>ABCDA—->ABCDAB—->ABCDABC—->ABCDABCD…… 因此,能够看出对S1做循环移位所得到的字符串都将是字符串S1S1的子字符串。
假设S2能够由S1循环移位得到,那么S2一定在S1S1上,这样时间复杂度就减少了。
相同题目:编程之美之字符串移位包括问题
【代码一】
/*********************************
* 日期:2014-5-15
* 作者:SJF0115
* 题号: 字符串移位包括问题
* 来源:CareerCup
**********************************/
#include <iostream>
#include <stdio.h>
#include <string.h>
using namespace std;
bool isSubstring(char* str1,char* str2){
if(str1 == NULL || str2 == NULL){
return false;
}
if(strstr(str1,str2) != 0){
return true;
}
return false;
}
bool IsRotate(char* str1,char* str2){
int i,j;
if(str1 == NULL || str2 == NULL){
return false;
}
int len1 = strlen(str1);
char* str3 = new char(len1*2+1);
strcpy(str3,str1);
strcat(str3,str1);
//str3 = str1+str1
if(isSubstring(str3,str2)){
return true;
}
return false;
}
int main(){
char str1[6] = "AABCD";
char str2[5] = "CDAA";
bool result = IsRotate(str1,str2);
cout<<result<<endl;
return 0;
}
【代码二】
/*********************************
* 日期:2014-5-15
* 作者:SJF0115
* 题号: 字符串移位包括问题
* 来源:CareerCup
**********************************/
#include <iostream>
#include <stdio.h>
#include <string.h>
using namespace std;
bool isSubstring(string str1,string str2){
if(str1.find(str2) != string::npos) {
return true;
}
return false;
}
bool IsRotate(string str1,string str2){
string str3 = str1+str1;
if(isSubstring(str3,str2)){
return true;
}
return false;
}
int main(){
string str1 = "apple";
string str2 = "pleap";
bool result = IsRotate(str1,str2);
cout<<result<<endl;
return 0;
}
版权声明:本文博客原创文章,博客,未经同意,不得转载。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/117665.html原文链接:https://javaforall.cn
边栏推荐
- Redis唯一ID生成器的实现
- ProSci LAG-3 重组蛋白说明书
- 10000+ 代码库、3000+ 研发人员大型保险集团的研发效能提升实践
- 小程序页面导航
- Open source SPL eliminates tens of thousands of database intermediate tables
- Selenium element information
- 渗透创客精神文化转化的创客教育
- Ros2 topic [01]: installing ros2 on win10
- 2. < tag hash table, string> supplement: Sword finger offer 50 The first character DBC that appears only once
- Abnova丨CRISPR SpCas9 多克隆抗体方案
猜你喜欢
Typhoon is coming! How to prevent typhoons on construction sites!
Duchefa MS medium contains vitamin instructions
Duchefa丨S0188盐酸大观霉素五水合物中英文说明书
小程序全局配置
Abnova丨血液总核酸纯化试剂盒预装相关说明书
Abnova maxpab mouse derived polyclonal antibody solution
Abnova CRISPR spcas9 polyclonal antibody protocol
Duchefa s0188 Chinese and English instructions of spectinomycin hydrochloride pentahydrate
CADD course learning (7) -- Simulation of target and small molecule interaction (semi flexible docking autodock)
小程序页面导航
随机推荐
Cutting edge technology for cultivating robot education creativity
Duchefa MS medium contains vitamin instructions
表单文本框的使用(二) 输入过滤(合成事件)
Analysis of steam education mode under the integration of five Education
2022 Beijing eye health products exhibition, eye care products exhibition, China eye Expo held in November
Abnova丨血液总核酸纯化试剂盒预装相关说明书
Is it safe to open an account online? Where can I get a low commission?
Analyze the knowledge transfer and sharing spirit of maker Education
教你自己训练的pytorch模型转caffe(一)
leetcode:1755. 最接近目标值的子序列和
【愚公系列】2022年7月 Go教学课程 004-Go代码注释
Informatics Olympiad 1340: [example 3-5] extended binary tree
Mathematical analysis_ Notes_ Chapter 9: curve integral and surface integral
小程序全局配置
Where is a good stock account? Is online account manager safe to open an account
手机开户股票开户安全吗?我家比较偏远,有更好的开户途径么?
Abnova CD81 monoclonal antibody related parameters and Applications
Research and development efficiency improvement practice of large insurance groups with 10000 + code base and 3000 + R & D personnel
解析五育融合之下的steam教育模式
Abnova cyclosporin a monoclonal antibody and its research tools