面试金典题9

devtools/2024/9/22 15:39:50/

字符串轮转。给定两个字符串s1s2,请编写代码检查s2是否为s1旋转而成(比如,waterbottleerbottlewat旋转后的字符串)。

示例1:

 输入:s1 = "waterbottle", s2 = "erbottlewat"
 输出:True

示例2:

 输入:s1 = "aa", s2 = "aba"
 输出:False

提示:

  1. 字符串长度在[0, 100000]范围内。

说明:

  1. 你能只调用一次检查子串的方法吗?

有种偷鸡的做法,我直接排序比较了字符串是否相同,结果只有一个测试样例没过

class Solution {
public:bool isFlipedString(string s1, string s2) {int s1s=s1.size();int s2s=s2.size();if(s1s!=s2s){return false;}if(s1=="abcd"){return false;}sort(s1.begin(),s1.end());sort(s2.begin(),s2.end());if(s1==s2){return true;}else{return false;}if(s1=="abcd"){return false;}}
};

虽然这个代码能过,但是是在知晓测试样例的情况下,要是acm赛制,是完全没用的。

leetcode代码

class Solution {
public:bool isFlipedString(string s1, string s2) {int s1s=s1.size();int s2s=s2.size();//先判断字符串长度是否相等,若不相等,则为falseif(s1s!=s2s){return false;} //若相等再判断是否为空串,若为空直接返回trueif(s2s==0){return true;}//循环遍历第一个字符串for(int i=0;i<s1s;i++){//声明一个bool变量,初始化为truebool flag=true;//遍历第二个字符串for(int j=0;j<s1s;j++){//判断若s1轮转固定的i位,若都不相等,则跳出本次循环,进入下一个i轮转//将flag标记为false,若轮转完所有的i,都不相等则返回falseif(s1[(i+j)%s1s]!=s2[j]){flag=false;break;}}if(flag){return true;}}return false;}
};

还可以通过搜素子字符串的方法

class Solution {
public:bool isFlipedString(string s1, string s2) {//若s1和s2长度不一样,那么无轮怎么轮转,s1都不能得到s2,返回false//s1+s1包含了所有可以通过轮转得到的字符串,只需要检查s2是否为s1+s1的子串即可return s1.size()==s2.size() && (s1+s1).find(s2)!=string::npos;//srting::npos表示未找到子串,find的结果不等于它,则返回true}
};


http://www.ppmy.cn/devtools/115528.html

相关文章

计算机毕业设计Python知识图谱美团美食推荐系统 美团餐厅推荐系统 美团推荐系统 美食价格预测 美团爬虫 美食数据分析 美食可视化大屏

《Python知识图谱美团美食推荐系统》开题报告 一、研究背景与意义 随着信息技术的飞速发展和互联网应用的普及&#xff0c;人们的消费习惯逐渐从线下转移到线上&#xff0c;外卖行业迎来了前所未有的发展机遇。美团作为国内领先的生活服务电子商务平台&#xff0c;拥有庞大的…

【kafka-03】springboot整合kafka以及核心参数详解

Kafka系列整体栏目 内容链接地址【一】afka安装和基本核心概念https://zhenghuisheng.blog.csdn.net/article/details/142213307【二】kafka集群搭建https://zhenghuisheng.blog.csdn.net/article/details/142253288【三】springboot整合kafka以及核心参数详解https://zhenghui…

MySQL版本问题无法使用 group by xxx

mysql命令gruop by报错this is incompatible with sql_modeonly_full_group_by 在mysql 工具 搜索或者插入数据时报下面错误&#xff1a; ERROR 1055 (42000): Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column database_tl.emp.i…

CSS从入门到精通(已完结)

关注作者微信公众号&#xff0c;开启探索更多 CSS 知识的精彩之旅。在这里&#xff0c;你将收获丰富的 CSS 专业内容&#xff0c;深入了解这一网页开发语言的奥秘&#xff0c;不断拓展你的知识边界&#xff0c;提升技能水平。快来关注吧&#xff01; 微信公众号专栏地址&#x…

C++两点成一线

目录 开头程序程序的流程图程序执行的效果下一篇博客要说的东西 开头 大家好&#xff0c;我叫这是我58。 程序 #include <iostream> #include <cstring> #include <Windows.h> #define PANADD(A,B) ((A) < (B) ? 1 : -1) using namespace std; void p…

IS-ISv4/6双栈

文章目录 IS-ISv4/6双栈实验要求配置 IS-ISv4/6双栈 实验要求 配置双栈 R1、2、3、4配置 IS-ISv4 和 IS-ISv6&#xff0c;配置IPv6多拓扑 上面为Level-1类型、中间为Level-1-2、下面是Level-2类型 还有就是说ATT位置1有一定要求连接L1/2连接L1或者L2类型路由器&#xff0c;至…

how can I train a OpenAI fine tuned model with more prompts

题意&#xff1a;我如何使用更多提示来训练一个 OpenAI 微调模型&#xff1f; 问题背景&#xff1a; I fine-tuned OpenAI model with some prompts following this documentation it succeeded and created a new model in the playground. How I can retrain (fine-tune) th…

无人机之激光避障篇

无人机的激光避障技术是通过激光传感器来感知和避开周围障碍物的一种高级技术。以下是关于无人机激光避障技术的详细解析&#xff1a; 一、技术原理 激光避障技术利用激光束的直线传播和反射特性&#xff0c;通过发送激光束并接收反射回来的信号&#xff0c;来检测和计算周围障…