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;
}
相关推荐
阳明山水几秒前
校准分位数驱动智能库存决策
人工智能·深度学习·算法·机器学习·架构
91刘仁德28 分钟前
C++ 继承和多态 设计模式
c语言·c++·笔记
码行山野赴时序归途34 分钟前
链表家族收官篇:循环链表
c语言·开发语言·数据结构·链表
景熙55231 小时前
单体项目编写思路和落地形式
java·开发语言
库玛西1 小时前
哈夫曼树与前缀编码:数据压缩的贪心核心
c语言·c++·笔记·考研
别动我齐刘海1 小时前
ROS2 Jazzy + C++ 实战路线——进阶学习3
c++·人工智能·vscode·python·算法·机器学习·机器人
zhangfeng11331 小时前
《从“人工适配“到“智能生成“:KernelSwift 跨国产芯片算子迁移全栈方案解读》 —— 强调范式跃迁和跨硬件属性,适合偏架构分析的写法
人工智能·算法·华为·ai编程·npu
0+1111 小时前
算法 --滑动窗口
c++·算法·leetcode
计算机毕设定制辅导-无忧学长1 小时前
《基于SpringBoot的未成年人健康知识科普平台的设计与实现》
java·开发语言·vue.js·spring boot·未成年人健康知识科普平台
stolentime2 小时前
(有原题)CSP-S2026第一轮试题(附答案解析、markdown源码)
c++·csp