首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

字符串包含重复字符的最长子串

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

1.1K20

js判断是否包含指定字符串_js字符串包含字符串

我是想在js中判断字符串是否包含某个中文,将方法记录起来,这些方法也适用于数字、字母。实践是检验真理的唯一标准,还是要多多测试啊。...= -1)); //true indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。如果要检索的字符串值没有出现,则该方法返回 -1。...= -1)); //true search() 方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。如果没有找到任何匹配的子串,则返回 -1。...但你有木有发现打印出来的是 ‘ 组 ’ ,如果是在字符串中找不到的话打印 null ,神奇的是可以把它放在 if 里面做判断,如下: var str="123"; var reg3 = RegExp(/...本站仅提供信息存储空间服务,拥有所有权,承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

10.6K10

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

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

8.2K30

《编程珠玑》字符串包含

作者 | 陌无崖 转载请联系授权 字符串包含 题目要求解题思路蛮力轮询排序后轮询 题目要求 给定一个长字符串a和短字符串b,高效判断短字符串b中的所有字符是否都在长字符串中 如: a := "ABCD...蛮力轮询 轮询短字符串b中的每一个字符,逐个进行和长字符串进行比较,代码如下: func StringContain(a string, b string) bool { ar := []rune...(a) br := []rune(b) // 用短字符串去寻找长字符串进行比较,因此主循环用短字符串进行控制 for i := 0; i < len(br); i++ {...// 定义一个 j 用来每次循环都要保证从 0 开始,j 代表 ar的下表 j := 0 // 循环长字符串 for j = 0; j < len(ar)...{ return p[i] < p[j] } func (p RuneSclice) Swap(i, j int) { p[i], p[j] = p[j], p[i] } 编写判断字符串是否包含的函数

81410

判断字符串是否包含某个字符串_查找字符串包含字符串

定义和用法 indexOf()方法可返回某个指定的字符串值在字符串中首次出现的位置。...规定需检索的字符串值。 fromindex 可选的整数参数。规定在字符串中开始检索的位置.它的合法取值是0到stringObject.length-1。...如省略该参数,则将从字符串的首字符开始检索。 说明 indexOf方法返回一个整数值,stringObject中的字符位置是从0开始的。如果没有找到子字符串,则返回 -1。...=-1){ alert("包含"); }else{ alert("包含"); } 作者:itmyhome 出处:http://blog.csdn.net/itmyhome1990...本站仅提供信息存储空间服务,拥有所有权,承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

1.8K20

19:字符串移位包含问题

19:字符串移位包含问题 总时间限制: 1000ms 内存限制: 65536kB描述 对于一个字符串来说,定义一次循环移位操作为:将字符串的第一个字符移动到末尾形成新的字符串。...给定两个字符串s1和s2,要求判定其中一个字符串是否是另一字符串通过若干次循环移位后的新字符串的子串。...例如CDAA是由AABCD两次移位后产生的新串BCDAA的子串,而ABCD与ACBD则不能通过多次移位来得到其中一个字符串是新串的子串。 输入一行,包含两个字符串,中间由单个空格隔开。...字符串包含字母和数字,长度超过30。输出如果一个字符串是另一字符串通过若干次循环移位产生的新串的子串,则输出true,否则输出false。...cout<<"true"; 20 return 0; 21 } 22 cout<<"false"; 23 return 0; 24 } 注意:两个字符串相加可以得到所有情况

1.6K80

Java 字符串包含_实现字符串的复制

(2)如果字符串A是”abcd”,字符串B是”bce”,答案是包含,因为字符串B中的字母e不在字符串A中。...(3)如果字符串A是”abcd”,字符串B是”aab”,答案是包含,因为字符串B中的字母a包含字符串A中。...B字符串"); else System.out.println("使用蛮力轮询法得到结果:A字符串包含B字符串"); } } 运行结果: 使用蛮力轮询法得到结果...B字符串"); else System.out.println("使用素数相乘法得到结果:A字符串包含B字符串"); } } 运行结果: 使用素数相乘法得到结果...B字符串"); else System.out.println("使用位运算法得到结果:A字符串包含B字符串"); } } 运行结果: 使用位运算法得到结果

1.2K30

js判断是否包含指定字符串_判断字符串

JavaScript 判断字符串是否包含某个字符串 String 对象 indexOf() indexOf() 返回某个指定的字符串值在字符串中首次出现的位置。...=-1); // false search() search() 用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。 如果没有找到任何匹配的子串,则返回 -1。...var str="The rain in SPAIN stays mainly in the plain"; if(str.match(/ain/gi)){ // 包含 } RegExp 对象...var str = "123"; var reg = RegExp(/3/); if(reg.exec(str)){ // 包含 } 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人...本站仅提供信息存储空间服务,拥有所有权,承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

4K10
领券