news 2026/7/2 11:32:10

字符串移位包含问题与删除单词后缀问题

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
字符串移位包含问题与删除单词后缀问题

字符串移位包含问题

由于最多有字符串长度个移位,所以我利用字符串添加(即复制自身并添加到自己末尾)形成新的字符串,再在行的字符串中利用“.find()”函数寻找另一个字符串。再由题意反着来一遍即可。

#include<bits/stdc++.h>
using namespace std;
int main(){
string s1,s2;
cin >> s1 >> s2;
bool k = false;

string T = s1;//T用于存放拼接后的子串
for(char &c : s1){
T += c;//拼接一个s1
}
//检查s2是否是拼接后的s1子串
if(T.find(s2) != string::npos){k = true;}
else//由于是要检查一个是否是另一个,所以反过来检查一遍
{
T = s2;//重置字符串T
for(char &c : s2){
T += c;//拼接一个s2
}
//检查s1是否是拼接后的s2子串
if(T.find(s1) != string::npos){k = true;}
}
cout << boolalpha << k << endl;//输出字符型的布尔值k
}

删除单词后缀问题

由于要确认检查并删除的是单词后缀而非其他干扰部分,所以我新建一个字符串t 并且t = s;再在字符串后添加一个字符‘T’用于定位(也可以是其他字符,避免添加后也会在单词内部找到即可)。

然后利用“.find()”函数查找“erT”等,并定义一个ops用于记录其返回值(用于后续删除操作的定位)。

最后用“s.erase(ops,3)”函数(从ops开始截去3个字符)删除即可。

#include<bits/stdc++.h>
using namespace std;
int main(){
string s;
cin >> s;
string t = s;
t += 'T';//用于确认检查的是单词后缀
size_t ops = t.find("erT");//检查是否含有"erT",并返回其索引值(如果不含有,则返回string::npos)
if(ops == string::npos) { ops = t.find("lyT");}//检查是否含有"lyT"
if(ops == string::npos) { ops = t.find("ingT");}//检查是否含有"ingT"

if(ops != string::npos){s = s.erase(ops,3);cout << s << endl;}//"s = s.erase(ops,3)"从ops开始截去3个字符
else cout << s << endl;
return 0;
}

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/1 20:57:15

30、Linux 软件管理全攻略:从仓库配置到源码编译

Linux 软件管理全攻略:从仓库配置到源码编译 在 Linux 系统中,软件的管理是一项至关重要的任务,它涵盖了软件的安装、配置、更新和移除等多个方面。本文将详细介绍 Linux 软件管理的相关知识,包括仓库配置、软件获取以及从源码编译软件等内容。 1. 仓库配置 仓库(repos…

作者头像 李华
网站建设 2026/7/2 4:09:27

好写作AI算法揭秘:如何让AI写出“有学术味儿”的文章?

当你担心AI生成的论文像“学术界的机器人发言稿”时&#xff0c;好写作AI正在底层算法里悄悄植入学术DNA。如果让一个通用大语言模型写学术论文&#xff0c;结果可能像用百度翻译莎士比亚——意思大概对&#xff0c;但“内味儿”全无。据统计&#xff0c;未经专门调优的AI在学术…

作者头像 李华
网站建设 2026/7/2 11:50:47

IDEA插件下载慢?2步提速起飞

最近更新了IDEA为最新版&#xff0c;虽然保存了&#xff0c;但还是一部分插件失效了&#xff0c;需要重新下载&#xff0c;下载插件时不是安装慢就是超时&#xff0c;总之就是安装不上&#xff0c;还是记录一下&#xff0c;说不定以后哪天还能用到&#xff0c; 1.查找 国内插件…

作者头像 李华
网站建设 2026/7/1 20:03:48

学Simulink——移动机器人基础驱动场景实例:基于Simulink的PMSM轮毂电机 id​=0 矢量控制(FOC)入门仿真

目录 手把手教你学Simulink——移动机器人基础驱动场景实例:基于Simulink的PMSM轮毂电机 id​=0 矢量控制(FOC)入门仿真 一、引言:为什么移动机器人要用 FOC?——从“能转”到“精准控转矩” 二、FOC 原理简述:让交流电机像直流电机一样控制 FOC 控制流程(五步法):…

作者头像 李华