24| 字符串

代码实现

cpp 复制代码
const int N = 30;
string s;
int a[N];
int main()
{
	cin >> s;
	int n = s.size();
	int l = 0, r = 0, kind = 0, ret = n;
	while(r < n)
	{
		// 进窗口
		if (islower(s[r]))
		{
			a[s[r] - 'a'] ++;
			if (a[s[r] - 'a'] == 1) kind++;
		 } 
		 while(kind == 26)
		 {
		 	// 更新结果 
		 	ret = min(ret, r - l + 1);
		 	
		 	// 出窗口
			 if (islower(s[l])) 
			 {
			 	a[s[l] - 'a'] --;
			 	if (a[s[l] - 'a'] == 0) kind--;
			 }
			 l++;
		 }
		 r++;
	}
	cout << ret << endl;
 } 
相关推荐
stm32 菜鸟21 分钟前
nucleo-f411re学习记录-9,双轴XY摇杆传感器
学习
南子北游22 分钟前
Python学习(基础语法1)
开发语言·python·学习
张健115640964827 分钟前
使用信号量限制并发数量
开发语言·c++
jc062035 分钟前
6.1云原生之Docker
c++·docker·云原生
Mrlxl.cn1 小时前
计算机网络——网络层
c语言·数据结构·计算机网络·考研
Yeh2020581 小时前
cookie与Session笔记
笔记
Atri厨2 小时前
X86存储器的段描述符学习随笔
学习
星幻元宇VR2 小时前
VR航空航天科普设备助力航天知识普及
人工智能·科技·学习·安全·vr·虚拟现实
d111111111d2 小时前
STM32-UART封装问题解析
笔记·stm32·单片机·嵌入式硬件·学习·算法
寒秋花开曾相惜2 小时前
(学习笔记)4.2 逻辑设计和硬件控制语言HCL(4.2.1 逻辑门&4.2.2 组合电路和HCL布尔表达式)
linux·网络·数据结构·笔记·学习·fpga开发