首页 > 字符串
头像 与人无语
发表于 2020-07-11 22:31:45
很简单的一道题 用尺取法就行了先右指针右移到达到合法状态 记录下来 在左指针右移到不合法 在右指针右移如此重复 就能得到最小的符合状态 #include<bits/stdc++.h> using namespace std; int v[256]; string s; int m 展开全文
头像 zzugzx
发表于 2020-06-15 13:16:50
题目链接 题意:题解: AC代码 /* Author:zzugzx Lang:C++ Blog:blog.csdn.net/qq_43756519 */ #include<bits/stdc++.h> using namespace std; #define f 展开全文
头像 微澜尛雨
发表于 2021-05-10 07:37:20
题目考点:尺取法(双指针)题目大意:给定一个字符串,问集齐26个字母所需要的最短区间是多长。题目分析:右指针字符串,当26个字母集齐之后移动左边界,维护最短长度即可;代码: #include<iostream> #include<algorithm> #include< 展开全文
头像 包子超好吃
发表于 2021-01-15 17:19:00
//核心在于尺取,其中也有利用了桶的思想,//我是单独写了一个函数来判断是否满足条件,使得整体的代码更清晰//笱蒻一枚有问题请指正;#include<iostream>#include<string.h>using namespace std;#define N 100000 展开全文
头像 Kur1su
发表于 2020-06-16 11:09:43
Description 小N现在有一个字符串S。他把这这个字符串的所有子串都挑了出来。一个S的子串T是合法的,当且仅当T中包含了所有的小写字母。小N希望知道所有的合法的S的子串中,长度最短是多少。 Solution 经典问题?一眼看出二分+尺取,先算出一共有多少种小写字母,然后再二分答案,显然字符串 展开全文
头像 一只羊蝎子
发表于 2021-01-22 17:29:23
这题一看就可以用暴力,没什么好说的 优化一下,用双指针,用一个26个元素的数组统计各字母在子串中出现过的次数判断是否符合题意即可 #include <iostream> #include <string> using namespace std; //用于判断是否符合题意 展开全文
头像 傻喵
发表于 2021-08-13 10:48:21
字符串 思路: 数据范围给的是1e6 如果采用普通的枚举思路的话就要枚举所有区间(i,j) 这样复杂度过高过不了我们就要想办法优化一些,我们可以从暴力的角度来思考看那些是无用功;假设str(i,j) 已经包含了一个合法的子串 此时对于j指针往后移动已经是无用功,题目要求是长度最短。我们这时候应该移动 展开全文
头像 沙烬
发表于 2022-04-13 21:40:14
首先对于这题,我们可以使用双指针模拟一下,如果map里面的容器满26个字母了就记录答案就可以了。 #include<iostream> #include<map> #include<algorithm> using namespace std; int main( 展开全文
头像 昵称很长很长真是太好了
发表于 2020-06-15 16:23:53
题解:尺取法,因为这个题目让你找包含26个字母且长度最小的连续区间,所以我们考虑双指针这种算法,从左边往右边移动,每次判断一下确定的区间是否符合标准1.如果符合标准的话,那么我们让左指针往右边移动,同时对应的删除左指针移动走的拿个字符。2.如果不符合标注,那么我们需要让区间继续扩大,也就是让右指针往 展开全文
头像 blowhail
发表于 2020-06-19 17:09:33
思路:使用尺取法,简单来说就是先固定左边,右边逐次遍历,如果满足条件了,再将左边缩短,以此来寻找最短的满足条件的字符串。 #include <cstdio> #include <iostream> #include <algorithm> #include < 展开全文

等你来战

查看全部