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;
 } 
相关推荐
一拳一个呆瓜21 小时前
【STL】iostream 编程:检测提取操作产生的错误
c++·stl
稚南城才子,乌衣巷风流1 天前
判断素数与拓展应用
c++
众少成多积小致巨1 天前
C++ 规范参考(下)
c++
c238561 天前
把 C++ 内存分配拆透:new 与 malloc 的三层血缘
开发语言·c++·算法
wp123_11 天前
【硬件选型笔记】TONEVEE MVL4020-1R2M 与Coilcraft XAL4020-122MEC 大电流功率电感参数深度解析
笔记
aaaameliaaa1 天前
指针之总结
c语言·笔记·算法
宵时待雨1 天前
优选算法专题9:哈希表
数据结构·算法·散列表
txzrxz1 天前
最短路问题——Dijkstra 算法
数据结构·c++·算法·最短路·优先队列
gwf2161 天前
磨损均衡算法(Wear Leveling)——SSD如何让每块闪存“公平退休“?
运维·数据库·人工智能·python·嵌入式硬件·算法·智能硬件
caimouse1 天前
protoc-gen-c 支持 proto3 `optional` 关键字修改记录
c语言·学习