字符串

【字符串算法】——KMP算法、压缩字符串、字符串镜像、翻转字符串 场景一:输入字符串s和字符串subs,输出串subs在串s中匹配成功时的位置。 思路:设s长度为n,subs长度为m,如果暴力遍历,则时间复杂度为n(m*n);如果使用KMP算法,则时间复杂度为n(m+n)。 推荐一篇文章:KMP算法的next[]数组通俗解释 这篇文章是我学习kmp算法中感觉最通俗易懂的文章。 代码实现(java): /** * Next数组表示:当与匹配串匹配到位 阅读详情

小N现在有一个字符串S。他把这这个字符串的所有子串都挑了出来。一个S的子串T是合法的,当且仅当T中包含了所有的小写字母。小N希望知道所有的合法的S的子串中,长度最短是多少。

输入描述:

一行一个字符串S。只包含小写字母。S的长度不超过1e6.

输出描述:

一行一个数字,代表最短长度。数据保证存在一个合法的S的子串。

输入

ykjygvedtysvyymzfizzwkjamefxjnrnphqwnfhrnbhwjhqcgqnplodeestu

输出

49

 

先一个一个统计每个字符出现的次数,同时从前面开始去重,去除重复出现的字符,缩短字符长度,跑一遍就行,O(n)的复杂度

#include <bits/stdc++.h>
#define N 1000010
#define INF 0x3f3f3f3f
using namespace std;

int main()
{
    int i,l=0,ans=INF;
    int vis[200]={0};
    string s;
    set<char>myset;
    cin>>s;
    for(i=0;s[i];i++)
    {
        myset.insert(s[i]);
        vis[s[i]]++;
        while(vis[s[l]]>1)
            vis[s[l]]--,l++;
        if(myset.size()==26)
            ans=min(ans,i-l+1);
    }
    cout<<ans<<endl;
    return 0;
}

 

考拉有n个字符串字符串,任意两个字符串长度都是不同的。 题目:考拉有n个字符串字符串,任意两个字符串长度都是不同的。考拉最近学习到有两种字符串的排序方法: 1. 根据字符串的字典序排序。例如: "car" < "carriage" < "cats" < "doggies < "koala" 2.根据字符串的长度排序。例如: "car" < "cats" < "koala" < "doggies" <... 阅读详情

相关推荐

iOS开发:字符串处理:截取字符串、匹配字符串、分割字符串

分享一个比较基础的知识点,记录一下,以备以后使用的时候查找方便,现在岁数大了,脑子不好使了,记忆力减退,年轻人可以忽略此博客。本篇要分享的是关于iOS开发中,字符串简单处理的方法,此部分过于基础,仅作加强记忆、记录使用。 一、截取字符串 进行截取字符串的操作,需求不同截取的方式不同,这里只介绍下面的截取方式。 1、截取下标某一位之前的字符串 NSString *string = @"123...

全沾软贱开发攻城狮 1万+

【每日一题】字符串

题目描述小N现在有一个字符串S。他把这这个字符串的所有子串都挑了出来。一个S的子串T是合法的,当且仅当T中包含了所有的小写字母。小N希望知道所有的合法的S的子串中,长度最短是多少。 输入描述:一行一个字符串S。只包含小写字母。S的长度不超过1e6. 输出描述:一行一个数字,代表最短长度。数据保证存在一个合法的S的子串。 题解取尺法,定义l,r,向前枚举l,判断是否满足,如果不满足,将r向前移动,...

weixin_43802332的博客 966

MATLAB控制信号发生器(USB-GPIB-HS)GPIB仪器控制教程(含matlab代码)

自动化测试时需要自动产生信号,通过matlab控制信号发生器的频率与功率,以实现自动化信号生成输出

qq_43686057的博客 1606

字符串(牛客)

时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld 题目描述 小N现在有一个字符串S。他把这这个字符串的所有子串都挑了出来。一个S的子串T是合法的,当且仅当T中包含了所有的小写字母。小N希望知道所有的合法的S的子串中,长度最短是多少。 输入描述: 一行一个字符串S。只包含小写字母。S的长度不超过106. 输出描述: 一行一个数字,代表最短长度。数据保证存在一个合法的S的子串。 示例1 输入 复制

weixin_66170039的博客 834

如何用 OBProxy 实现 OceanBase 的最佳路由策略

本文基于业务中一类常见的路由问题展开,对OceanBase的路由功能及对应配置项做详细介绍,指导用户在业务实践中如何正确的配置路由策略及快速排查路由问题

OceanBase分布式数据库的博客 1694

HyperLynx(十五)多板仿真

在对话框的“Design file#1”下拉列表中选择“B00,Mainboard”,在其下方的“Reference designators”列表中选择元器件“J1”,然后在“Designfile#2”下拉列表中选择“BO1、RAM1”,在其下方的“Refer ence designators”列表中选择元器件“J1”,单击“Insert”按钮,为这两个元器件建立互连映射。在“Assign Models”对话框中,选择“B00 Motherboard”,将“U16.B12”设置为输出。

小幽余生不加糖 5062

c++算法基础必刷题目——尺取法

尺取法比直接暴力枚举区间效率高很多,尤其是数据量大的时候,所以说尺取法是一种高效的枚举区间的方法,是一种技巧,一般用于求取有一定限制的区间个数或最短的区间等等。牛客幼儿园的小朋友们围成了一个圆圈准备玩丢手绢的游戏,但是小朋友们太小了,不能围成一个均匀的圆圈,即每个小朋友的间隔可能会不一致。1、开始,l和r都在a点,目前不是最优状态,r往顺时针方向走到b,目前也不是最优状态,r往顺时针方向走到c,达到最优状态,记录答案。接下来的第2到第n行,第i行有一个整数,表示第i-1个小朋友顺时针到第i个小朋友的距离。

weixin_52115456的博客 1097

4. SAP ABAP OData 服务 Data Provider Class 的 GET_ENTITYSET 方法实现指南

首先第19行CREATEDATA创建er_entityset实例,指定其类型为zcl_zbook_manage_mpc=>tt_book,接着把这个引用映射到刚刚第五行定义的FIELD-SYMBOLS变量上去,这样的话,接下来我们对FIELD-SYMBOLS进行的操作,就会自动反应回引用变量er_entityset.因为我们可能在这个方法里,返回多条图书信息,所以需要用内表类型,而非单条记录的ts_book.ts_book代表一本图书的数据结构。......

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 2963

取尺法(书上P146)

易懂的题解链接 就是相当于移动左右指针,反复推进区间的开头和末尾(相当于左右端点可变化的尺子),求满足条件的最小区间。 牛客网: 板子题 小N现在有一个字符串S。他把这这个字符串的所有子串都挑了出来。一个S的子串T是合法的,当且仅当T中包含了所有的小写字母。小N希望知道所有的合法的S的子串中,长度最短是多少。 输入 ykjygvedtysvyymzfizzwkjamefxjnrnphqwnfhrnbhwjhqcgqnplodeestuykjygvedtysvyymzfizzwkjamefxjnrn

m0_52075409的博客 496

YOLOv12创新改进 | 全网独家创新篇、小目标检测改进 | AAAI 2025 | 引入HS-FPN中的HFP和SDP创新点,从频域增强小目标特征,淘汰FPN进行升级,助力YOLOv12有效涨点

本文提出了HS-FPN(高频和空间感知特征金字塔网络),通过HFP(高频感知)模块增强小目标特征,SDP(空间依赖感知)模块捕获像素间空间依赖关系。实验在AI-TOD等小目标数据集上验证了该方法的有效性,相比FPN显著提升检测性能。文章详细介绍了HS-FPN的网络结构、核心代码实现及在YOLOv12中的应用方法,并提供多种改进版本的yaml配置文件,为小目标检测任务提供了有效的解决方案。

Ai缝合怪、助力小伙伴高效发论文 338

【RKNN】RKNN(Rockchip Neural Network)​​ 的详解

RKNN 为 Rockchip 硬件提供了高效的 AI 推理解决方案,适合需要低功耗、实时响应的边缘场景

浩瀚之水的专栏 1688

Wannafly挑战赛23 A字符串 (求最短的子串包含所有小写字母)尺取法

题目链接 https://www.nowcoder.com/acm/contest/161/A 题意 小N现在有一个字符串S。他把这这个字符串的所有子串都挑了出来。一个S的子串T是合法的,当且仅当T中包含了所有的小写字母。小N希望知道所有的合法的S的子串中,长度最短是多少。 题解 尺取法。 枚举区间的较高效的方法。 先初始化区间为[0,-1]. 然后找到右区间r,使得区间[l,r]...

EnjoyingAC的博客 754

yolov8涨点系列之轻量化主干网络替换

yolov8涨点系列之轻量化主干网络替换,以EfficientVit为例

zhang1379的博客 2887

CString字符串比较、字符串长度、字符串拷贝、字符串拼接

目录字符串比较字符串长度字符串拷贝字符串拼接 字符串比较 比较两个字符串指针:如果两个字符串相等,返回0 strcmp(区分大小写) //多字节 stricmp(不区分大小写) //多字节 wcscmp(区分大小写) //宽字节 wcsicmp(不区分大小写) //宽字节 _tcscmp();(区分大小写) //多字节宽字节皆可 _tcsicmp();(不区分大小写) //多...

滴水穿石的博客 1万+

OsgEarth —— 笔记6 - 开发阶段加入漫游飞行(附源码)

效果      视频地址   源码 源码下载请私信   代码      代码相关内容:           OSG —— 笔记1 - 指令调用模型           OsgEarth —— 笔记1 - 创建地球的earth文件           OsgEarth —— 笔记2 - Qt窗口加载earth地球(附源码)           OsgEarth —— 笔记3 - 为地

1896

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

1. 字符串 字符串数组

1. 字符串 #include <stdio.h> #define MSG "I am a symbolic string constant." #define MAXLEN 81 int main(int argc, char const *argv[]) { char words[MAXLEN] = "I am a string in an array."; char *ptr1 = "Something is pointing at me."; puts("Here are s

weixin_44637703的博客 4445

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

字符串和字符串函数

字符串和字符串函数笔记

Simona_gy的博客 1848

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

C++处理字符串的方法——字符串类与字符串变量

C++提供了一种新的数据类型——字符串类型(string类型),在使用上和char、int类型一样,可以用来定义变量,这就是字符串变量。 实际上,string并不是C++本身具有的基本类型,它是C++标准库中声明的一共字符串类,用这种类可以定义对象。每一个字符串变量都是string类的一个对象。 1.字符串变量的定义和引用 (1)定义字符串变量 和其他类型变量一样,字符串变量必须先定义后使...

Rock N' Roll Forever 3568

字符串与字符串变量

C语言本身并没有专门为字符串设计独立的数据类型,而是巧妙地借助字符数组来实现字符串的功能。是一个字符指针,它可以指向一个字符数组的首地址,也可以指向一个字符串常量的首地址。字符串变量本质上就是字符数组,不同之处在于字符串值可以在程序运行期间进行修改。当把字符串常量赋值给字符串时,实际上是把字符串常量的首地址赋给了变量。字符数组本质上是数组的一种特殊形式,其数组元素的数据类型为字符。因为字符串常量存储在只读内存区域,使用指针可以直接指向该区域。的时候,C语言才会认为字符串结束,进而停止对字符的处理。

📖在读学生📖 1736

js字符串处理—是否包含某个字符串以及截取字符串

字符串内是否包含某个字符串——indexOf var oldString=“tongyuwan”; var newString=oldString.indexOf(‘tong’); if(newStrong)

像风走过八千里 2万+

C语言--字符串拷贝、字符串查找、字符串比较、字符串截取

 在实际的应用当中,字符和字符串的操作是最常用的技能。总结下来,提升能力。 一、字符串拷贝 1、memcpy 2、strcpy 区别 二、字符串查找 三、字符串比较 四、字符串截取 1、一种简单而又机智的方法–strncpy  strncpy函数是拷贝N个字符到另一个字符数组中的库函数。利用它的性质可以达到截取字符串的目的:  首先:从源串中拷贝3个字符到终串中去(不能拷贝4个,否则会出现乱码!)...

似水流年 5万+

如何实现字符串加字符串

之前我们讲到了数字类型可以使用+加号来计算,其实+加号不仅可以用来计算,还可以用于字符串的连接。 字符串加字符串 我们来看一下字符串是如何加字符串: 从上图我们可以看出,两个字符串相加,输出结果就是将两个字符串按顺序连接起来。在前面的字符串输出时也在前面位置,如果字符串本身没有空格,那么输出时字符串之间也是没有空格的。 字符串加变量 字符串不仅可以和字符串连接,也可以直接和变量连接。 变量加变...

ivenqin的博客 4149

iOS之字符串处理:截取字符串、匹配字符串、分隔字符串

1、字符串的截取 //1.截取字符串 NSString *string =@"123456d890"; NSString *str1 = [string substringToIndex:5];//截取掉下标5之前的字符串 NSLog(@"截取的值为:%@",str1); NSString *str2 = [string substringFromIndex:3];//截取掉下标3之后的字符串 NSLog(@"截取的值为:%@",str2); 2、匹配字符串从字符串(sd是sfsfsA..

迦南的专栏 7811

论字符串

💎💎🚀关注博主,后期持续更新系列文章字符(char)与字符串(string)不同,字符由单引号包裹,字符串则由双引号包裹。很多字符串在一起,就可以组成一个字符串,如下图:字符串hello,就是由h、e、l、l、o这五个字符组成。字符串可以被看做是一个;所以,数组的语法同样适用于字符串,比如:通过下标获取单个字符。声明了一个字符串变量a,并赋值“hello”,输出字符串里的第一个字符,通过数组名+下标的方式输出。

WSH2012ffff的博客 1256

【字符串】乱序字符串

问题描述 给出一个字符串数组S,找到其中所有的乱序字符串(Anagram)。如果一个字符串是乱序字符串,那么他存在一个字母集合相同,但顺序不同的字符串也在S中,样例:对于字符串数组 [“lint”,”intl”,”inlt”,”code”] 返回 [“lint”,”inlt”,”intl”] 问题分析:这个问题关键点有两个,第一个是如何判别两个顺序不同但是字母组成相同的字符串,很直接的方法就是...

永生只是一场幻梦 5402

字符串的统计字符串

【题目】给定一个字符串str,返回str的统计字符串。例如“aaabbadddffc”的统计字符串为“a_3_b_2_a_1_d_3_f_2_c_1”。 【补充题目】给定一个字符串的统计字符串,再给定一个整数index,返回cstr所代表的原始字符串上的第index个字符。例如,“a_1_b_100”所代表的原始字符串上第0个字符是‘a’,第50个字符是‘b’。 /* * 给定一个字符串str,...

gkq_tt的博客 2606
上一篇: 中国剩余定理
下一篇: 欧拉筛法模版
codertcm
博客等级 码龄8年 80粉丝 98原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值