首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    求字符串内不包含重复字符的最长子串

    今天我遇到一个问题,题目描述如下:         一个字符串,求这个字符串中不包含重复字符的最长子串的长度,如abba返回2,aaaaabc返回3,bbbbbbb返回1,等等上面是测试用例。...那么我解决这个问题的思路有两种: 第一种是,设一个头指针和一个尾指针,头指针指向,不包含重复字符子串的第一个字符,尾指针指向不包含重复子串的最后一个字符,用一个hashset保存已经出现过的字符,例如abba...,如果尾指针指向的字符,在集合中没有出现,那么将这个字符放入结合,然后尾指针向后移动,这是尾指针会移动到第二个b的位置,如果集合中已经包含了这个字符,那么用尾指针的索引减去头指针的索引,会求出一个子串的长度...hashmap作为辅助,map的key存储的是字符,value存储的是该字符当前的位置,首先设置一个头指针,指向字符串开头,那么从开始遍历字符串,如果map当中不包含这个字符,那么用这个字符当前所在的位置减去头指针的位置...put(‘a’,0),当前为b,那么长度为2,map.put('b',1),如果说map中存在当前字符,那么把头指针指向,头指针当前的位置与map中存储该字符位置的下一个位置当中的较大者,成为新的头指针位置

    1.8K20

    判断字符串中只包含或不包含某种字符的方法

    通过2个函数:CHARINDEX和PATINDEX CHARINDEX:查某字符(串)是否包含在其他字符串中,返回字符串中指定表达式的起始位置。...PATINDEX:查某字符(串)是否包含在其他字符串中,返回指定表达式中某模式第一次出现的起始位置;如果在全部有效的文本和字符数据类型中没有找到该模式,则返回零。特殊:可以使用通配符! 例子: 1....查询字符串中是否包含数字字符 SELECT PATINDEX('%[0-9]%', 'SUYLLGoO') SELECT PATINDEX('%[0-9]%', 'SUYLLG0O') 3.函数判断字符串只包含数字...函数判断字符串不包含任何符号(包括空格) CREATE FUNCTION [dbo].fn_IsAlphanumeric ( @pString VARCHAR(8000) ) RETURNS bit WITH...函数判断字符串不包含任何符号(除空格外) CREATE FUNCTION [dbo].fn_IsAlphanumericBlank ( @pString VARCHAR(8000) ) RETURNS

    1.5K10

    python中字符串的用法(后附加转义字

    4.... """ print([string4]) #r'' 原样字符串,不会将字符串中的转义字符进行转义,会原样的输出 print(r'1\n2') print('\a') 二、字符串的拼接...,九需要将变量放在()小括号中%(a,b,c) string5='a的值为:%d,b的值为:%d'%(a,b) #%f 小数类型占位符 #%.2f 保留小数点后两位 a=1.1111 b=2.9999...(x,start,end)函数  统计某个字符在大字符串中出现的位置   start和end可省略,默认取整个字符串 #x 要查找次数的字符串 start 开始查找的位置 end结束查找的位置 count...) 去除字符串首尾两端(中间的不能去除)的字符,不指定默认去除空格 #chars 要去除的字符 string='\n张\n\n\n三 ' strip_str=string.strip('\n')...6;7;8;9' #seq 指定的分割字符 maxsplit 最大的分割次数 不指定默认全部分割 rs=string.split(';') print(rs) 11.join(iterable)函数

    3K10

    分组后合并分组列中的字符串如何操作?

    一、前言 前几天在Python最强王者交流群【IF】问了一个Pandas的问题,如图所示。...下面是他的原始数据: 序号 需求 处理人 1 优化 A 2 优化 B 3 运维 A 4 运维 C 5 需求 B 6 优化 C 7 运维 B 8 运维 C 9 需求 C 10 运维 C 11 需求 B...如果不去重,就不用unique,完美地解决粉丝的问题! 后来他自己参考月神的文章,拯救pandas计划(17)——对各分类的含重复记录的字符串列的去重拼接,也写出来了,如图所示。...这篇文章主要盘点了一个pandas的基础问题,文中针对该问题给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。...最后感谢粉丝【IF】提问,感谢【月神】、【瑜亮老师】给出的思路和代码解析,感谢【dcpeng】等人参与学习交流。

    5.2K10

    iOS截取字符串(NSString)1、截取某个下标之前的字符串,结果不包含下标对应的字符2、截取某个下标之后的字符串,结果包含下标对应的字符3、截取一段字符串

    截取字符串是很常用的功能,NSString的截取主要有三种方式(下面说的字符串字符下标都是从0开始数): 截取某个下标之前的字符串,结果不包含下标对应的字符 截取某个下标之后的字符串,结果 包含 下标对应的字符...截取一段字符串 实现效果如下图: 下面分别说明: 1、截取某个下标之前的字符串,结果不包含下标对应的字符 代码如下: // 原字符串 NSString *originalStr = @"Hello...” 这里字母"o"对应的下标为4,因为结果不包含下标对应的字符,所以要截取5之前的字符串。...2、截取某个下标之后的字符串,结果包含下标对应的字符 代码如下: // 原字符串 NSString *originalStr = @"Hello World"; // 下标之后的子字符串,包含下标对应字符...3、截取一段字符串 代码如下: // 原字符串 NSString *originalStr = @"Hello World"; // 下标之间的子字符串:第一个参数为开始下标,第二个参数为长度

    2.5K50

    字符串转化后的各位数字之和

    题目 给你一个由小写字母组成的字符串 s ,以及一个整数 k 。...首先,用字母在字母表中的位置替换该字母,将 s 转化 为一个整数(也就是,‘a’ 用 1 替换,‘b’ 用 2 替换,… ‘z’ 用 26 替换)。接着,将整数 转换 为其 各位数字之和 。...例如,如果 s = “zbax” 且 k = 2 ,那么执行下述步骤后得到的结果是整数 8 : 转化:"zbax" ➝ "(26)(2)(1)(24)" ➝ "262124" ➝ 262124 转换...#1:262124 ➝ 2 + 6 + 2 + 1 + 2 + 4 ➝ 17 转换 #2:17 ➝ 1 + 7 ➝ 8 返回执行上述操作后得到的结果整数。...博客地址 https://michael.blog.csdn.net/ 长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!

    62720

    输出这个字符串通过huffman编码后的长度。_Python字符串的45个方法超级详解

    七、字符串修剪  32、strip()  描述:该函数的作用是去除字符串开头和结尾处指定的字符,不会去除字符串中间对应的字符  语法:str.strip(chars)   参数:chars -- 要去除的字符...返回值:(head, sep, tail) 返回一个三元元组,head:分隔符sep前的字符串,sep:分隔符本身,tail:分隔符sep后的字符串。...返回值: (head, sep, tail) 返回一个三元元组,head:分隔符sep前的字符串,sep:分隔符本身,tail:分隔符sep后的字符串。...如果字符串不包含指定的分隔符sep,仍然返回一个三元元组,第一个元素为字符串本身,第二第三个元素为空字符串。  ...通过指定分隔符sep对字符串进行分割,并返回分割后的字符串列表。

    1.1K00

    老公的“难题”——替换后再查找,解决字符串提取问题

    学习Excel技术,关注微信公众号: excelperfect 经过一段时间的学习,吴老师自认为Excel的水平超过了一般人。这天,她看到老公在书房的电脑前不停地敲着双击鼠标并按删除键。...“呵呵,回家了还忙工作,真是大忙人。”她戏谑地说了一句。 “唉!命苦啊,这么一大堆数据,要将它们调整过来,真是头疼。”老公眼睛仍是盯着电脑,回了一句。 “要不要我帮忙,我可是Excel高手呢。”...趁这个间隙,吴老师坐到电脑前,仔细一看,原来是一组设备编码数据,将近万行,长短不一,要将第5个分隔符“-”前的字符串提取出来。示例数据如下图1所示(原数据不便公开,使用演示数据)。...图1 老公的做法是,双击鼠标,将光标定位到第5个“-”前,然后按Delete键删除后面的字符。 “天呐,这搞到什么时候……这个笨老公!不会想些简单的办法,难怪要加班。”...“咦,你是怎么搞的,怎么就……”。不知什么时候,老公已经站在她身后,脸上写着一个大大的问号…… 欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

    67320

    LeetCode每日一题-9:替换后的最长重复字符串

    题目描述: 给你一个仅由大写英文字母组成的字符串,你可以将任意位置上的字符替换成另外的字符,总共可最多替换 k 次。在执行上述操作后,找到包含重复字母的最长子串的长度。...示例 2: 输入:s = "AABABBA", k = 1 输出:4 解释: 将中间的一个'A'替换为'B',字符串变为 "AABBBBA"。...子串 "BBBB" 有最长重复字母, 答案为 4 思路分析: 一看到最长字符串就想到滑动窗口。...,右边界就又可以开始向右移动了,继续尝试找到更长的目标子串; 替换后的最长重复子串就产生在右边界、左边界交替向右移动的过程中。...S 的长度; 空间复杂度:O(A),这里 A 是输入字符串 S 出现的字符 ASCII 值的范围。

    60320

    执行操作后字典序最小的字符串(BFS)

    题目 给你一个字符串 s 以及两个整数 a 和 b 。其中,字符串 s 的长度为偶数,且仅由数字 0 到 9 组成。...例如,s = “3456” 且 b = 1,则执行此操作后 s 变成 “6345”。 请你返回在 s 上执行上述操作任意次后可以得到的 字典序最小 的字符串。...如果两个字符串长度相同,那么字符串 a 字典序比字符串 b 小可以这样定义:在 a 和 b 出现不同的第一个位置上,字符串 a 中的字符出现在字母表中的时间早于 b 中的对应字符。...累加:"2454" 累加:"2353" 轮转:"5323" 累加:"5222" 累加:"5121" 轮转:"2151" 累加:"2050"​​​​​​​​​​​​ 无法获得字典序小于 "2050" 的字符串...示例 3: 输入:s = "0011", a = 4, b = 2 输出:"0011" 解释:无法获得字典序小于 "0011" 的字符串。

    1.2K10

    面试题-python3 连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组

    题目 连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组; 长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。...输入描述: 连续输入字符串(输入2次,每个字符串长度小于100) 举例: 输入:abc 123456789 输出: abc00000 12345678 90000000 实现代码 这题首先考察字符串的个数...,分为小于8,等于8,大于8的情况,其中大于8的字符按每8个字符切割,最后的余数不足8个继续补齐。...输入要求:输入2次,每个字符串长度小于100。...当大于100的时候,可以让用户重新输入,直到小于100 # 作者-上海悠悠 QQ交流群:717225969 # blog地址 https://www.cnblogs.com/yoyoketang/ b

    3.1K60

    linux 正则表达式匹配不包含某些字符串的技巧

    经常我们会遇到想找出不包含某个字符串的文本,程序员最容易想到的是在正则表达式里使用,^(hede)来过滤”hede”字串,但这种写法是错误的。...我们可以这样写:[^hede],但这样的正则表达式完全是另外一个意思,它的意思是字符串里不能包含‘h',‘e',‘d'三个但字符。那什么样的正则表达式能过滤出不包含完整“hello”字串的信息呢?....)*$ 上面这个表达式就能过滤出不包含‘hede'字串的信息。我上面也说了,这种写法并不是正则表达式“擅长”的用法,但它是可以这样用的。 解释 一个字符串是由n个字符组成的。...在每个字符之前和之后,都有一个空字符。这样,一个由n个字符组成的字符串就有n+1个空字符串。我们来看一下“ABhedeCD”这个字符串: 所有的e编号的位置都是空字符。表达式(?!...是否定式向前查找,它帮我们解决了字符串“不包含”匹配的问题。 以下是一些补充: 分享下php生成随机数的三种方法,生成1-10之间的不重复随机数,php生成不重复随机数的例子,需要的朋友参考下。

    9.9K30

    asp.net 解码gb2312下urlencode后的字符串

    公司网站前期的网页用了gb2312保存用户数据,而我负责的部分用的是utf8,今天恰好要获取前期录入的数据于是毫无悬念地出现乱码问题,经过一番网上的搜索还是找不到完整解决方法,折腾好一段时间终于通过下面的例子推出了问题的所在...: 这样的一个业务,客服用gb2312编码后 提交服务器,服务器接收时出现乱码,用System.Web.HttpUtility.UrlDecode();解码 ,还是出现乱码,困老了我好长时间,终于在google...HttpUtility.ParseQueryString(Request.Url.Query, System.Text.Encoding.GetEncoding("GB2312"))["message"];--其中message就是你接收的参数...于是了解到UrlEncode是基于页面的编码方式,那么前期保存到的数据时基于gb2312来UrlEncode的,所以在utf8页面解码时要指定用gb2312的方式来解码。...具体做法: System.Web.HttpUtility.UrlDecode("需解码的GB2312编码字符串",Encoding.GetEncoding("gb2312"));

    1.6K50

    删除字符串两端相同字符后的最短长度(双指针)

    唯一元素的和 LeetCode 1749. 任意子数组和的绝对值的最大值(前缀和) 第四题:LeetCode 1751. 最多可以参加的会议数目 II(DP + 二分查找) 1....题目 给你一个只包含字符 ‘a’,‘b’ 和 ‘c’ 的字符串 s ,你可以执行下面这个操作(5 个步骤)任意次: 选择字符串 s 一个 非空 的前缀,这个前缀的所有字符都相同。...选择字符串 s 一个 非空 的后缀,这个后缀的所有字符都相同。 前缀和后缀在字符串中任意位置都不能有交集。 前缀和后缀包含的所有字符都要相同。 同时删除前缀和后缀。...请你返回对字符串 s 执行上面操作任意次以后(可能 0 次),能得到的 最短长度 。 示例 1: 输入:s = "ca" 输出:2 解释:你没法删除任何一个字符, 所以字符串长度仍然保持不变。...提示: 1 <= s.length <= 10^5 s 只包含字符 'a','b' 和 'c' 。

    76820

    【Leetcode -1475.商品折扣后的最终价格 -1544.整理字符串】

    Leetcode -1475.商品折扣后的最终价格 题目:给你一个数组 prices ,其中 prices[i] 是商店里第 i 件商品的价格。...请你返回一个数组,数组中第 i 个元素是折扣后你购买商品 i 最终需要支付的价格。...题目:给你一个由大小写英文字母组成的字符串 s 。...若 s[i] 是大写字符,则 s[i + 1] 不可以是相同的小写字符。 请你将字符串整理好,每次你都可以从字符串中选出满足上述条件的 两个相邻 字符并删除,直到字符串整理好为止。...请返回整理好的 字符串 。题目保证在给出的约束条件下,测试样例对应的答案是唯一的。 注意:空字符串也属于整理好的字符串,尽管其中没有任何字符。

    19010
    领券