xtuoj string

题目

思路

题目的意思是找出最长子列,该子列的字符必须都是字符集里面的。

对于这个问题我们先记录字符集所有出现过的元素,然后我们再逐个处理字符串的字符。如果当前字符是字符集里面的,那么cnt++,并且用一个max记录最长长度,如果cnt>max,那么max设置为cnt;如果不是里面的,那么相当于中断了,cnt设置为0。

代码

cpp 复制代码
#include<stdio.h>
#include<string.h>

char str[10010],s[30];

int main(){
	int T;
	scanf("%d",&T);
	while(T--){
		scanf("%s%s",str,s);
		int f[26]={0};
		int lenS=strlen(s);
		int lenStr=strlen(str);
		for(int i=0;i<lenS;i++) f[s[i]-'a']=1;
		
		int max=0;
		int cnt=0;
		for(int i=0;i<lenStr;i++){
			if(f[str[i]-'a']){
				cnt++; 
				if(cnt>max) max=cnt;
			}else cnt=0;
		}
		printf("%d\n",max);
	}
	return 0;
}
相关推荐
望获linux3 小时前
【实时Linux实战系列】实时系统的可观测性:Prometheus 与 Grafana 集成
大数据·linux·服务器·开发语言·网络·操作系统
韩非3 小时前
if 语句对程序性能的影响
算法·架构
用户916357440953 小时前
LeetCode热题100——15.三数之和
javascript·算法
加油吧zkf3 小时前
Python入门:从零开始的完整学习指南
开发语言·前端·python
ting_zh3 小时前
导数、偏导数与梯度:机器学习数学基础
算法·基础数学
灰灰老师4 小时前
七种排序算法比较与选择[Python ]
java·算法·排序算法
秃头狂魔4 小时前
DAY1 数组一
算法
xqlily4 小时前
Kotlin:现代编程语言的革新者
android·开发语言·kotlin
CM莫问4 小时前
推荐算法之粗排
深度学习·算法·机器学习·数据挖掘·排序算法·推荐算法·粗排