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;
}
相关推荐
程序猿_极客1 分钟前
JavaScript的Web APIs 入门到实战(day2):事件监听与交互实现,轻松实现网页交互效果(附练习巩固)
开发语言·前端·javascript·学习笔记·web apis 入门到实战
闲人编程15 分钟前
用Python控制硬件:Raspberry Pi项目初体验
开发语言·python·raspberry·pi·codecapsule·控制硬件
cherry--20 分钟前
集合(开发重点)
java·开发语言
apocelipes21 分钟前
C++23的out_ptr和inout_ptr
c++
CoovallyAIHub21 分钟前
告别碎片化!Dinomaly2:一个极简框架统一所有异常检测任务
深度学习·算法·计算机视觉
半桶水专家26 分钟前
父子组件通信详解
开发语言·前端·javascript
Watermelo61729 分钟前
从vw/h到clamp(),前端响应式设计的痛点与进化
前端·javascript·css·算法·css3·用户界面·用户体验
让我们一起加油好吗33 分钟前
【数论】乘法逆元(求逆元的三种方式)
算法·数论·费马小定理·扩展欧几里得算法·乘法逆元
sigd37 分钟前
排队选人-2024年秋招-小米集团-软件开发岗-第二批笔试
数据结构·算法
敲上瘾38 分钟前
Elasticsearch从入门到实践:核心概念到Kibana测试与C++客户端封装
大数据·linux·c++·elasticsearch·搜索引擎·全文检索