首页 > 分享 > 月月查华华手机(字符串操作)

月月查华华手机(字符串操作)

月月查华华手机(字符串操作)

最新推荐文章于 2022-07-07 00:24:19 发布

风萧萧兮易水寒丶 于 2020-04-04 12:11:36 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

在这里插入图片描述
解题思路:
维护一个数值Next[i][j],表示第i个位置之后第一次出现j的位置,首先从前往后遍历字符串,初始化Next,Next[i-1][arr[i]-‘a’]=i,然后从后往前处理Next数组,相当于每次向前传递位置i后第一次出现的字母的位置信息,遍历到位置0结束,注意只有一个字符的特殊情况。

代码:

#include <bits/stdc++.h> using namespace std; #define ll long long const int maxn=1e6+10; int Next[maxn][26]; char arr[maxn]; int main() { scanf("%s",arr+1); int len1=strlen(arr+1); for(int i=1;i<=len1;++i) Next[i-1][arr[i]-'a']=i; for(int i=len1-1;i>=0;--i) { for(int j=0;j<26;++j) if(!Next[i][j]) Next[i][j]=Next[i+1][j]; } int n; scanf("%d",&n); while(n--) { string temp; int x=0,flag=0; cin>>temp; int len2=temp.size(); for(int i=0;i<len2;++i) { x=Next[x][temp[i]-'a']; if(!x) { flag=1; break; } } if(flag) printf("Non"); else printf("Yesn"); } return 0; }

12345678910111213141516171819202122232425262728293031323334353637383940

相关知识

月月查华华的手机 (字符串匹配 枚举优化 预处理)
李树华:园艺疗法
成都华艺婚礼
关于华住集团
博华三农经
「华艺园林景观生态建设招聘」
字符串
曼陀罗华(解读曼陀罗华的神秘与寓意)
九华黄精
金恢华:把切花产业“做出花”

网址: 月月查华华手机(字符串操作) https://m.huajiangbk.com/newsview106143.html

所属分类:花卉
上一篇: 在 Python 中构造 Gra
下一篇: 八下科学复习 , 让人等得心痒痒