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;
 } 
相关推荐
xsyaaaan1 小时前
leetcode-hot100-双指针:283移动零-11盛最多水的容器-15三数之和-42接雨水
算法·leetcode
一方热衷.3 小时前
YOLO26-Seg ONNXruntime C++/python推理
开发语言·c++·python
炽烈小老头5 小时前
【每天学习一点算法 2026/03/08】相交链表
学习·算法·链表
一碗白开水一5 小时前
【工具相关】OpenClaw 配置使用飞书:打造智能飞书助手全流程指南(亲测有效,放心享用)
人工智能·深度学习·算法·飞书
仰泳的熊猫6 小时前
题目2194:蓝桥杯2018年第九届真题-递增三元组
数据结构·c++·算法
Tisfy6 小时前
LeetCode 1888.使二进制字符串字符交替的最少反转次数:前缀和O(1)
算法·leetcode·字符串·题解
2301_803554526 小时前
linux 以及 c++编程里对于进程,线程的操作
linux·运维·c++
日更嵌入式的打工仔6 小时前
个人笔记3
笔记
滴滴答滴答答7 小时前
机考刷题之 9 LeetCode 503 下一个更大元素 II
算法·leetcode·职场和发展