力扣——无重复字符的最长子串
字符 重复 最长 力扣 子串
2023-06-13 09:18:28 时间
题目描述
给定一个字符串 s
,请你找出其中不含有重复字符的 最长子串 的长度。
示例
输入: s = "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。
分析
遍历整个字符串,如果遍历过程中发现了有与之前相同的字符,则比较后续字符与之前是否相同,直到遇到与之前不同的字符。
代码
let lengthOfLongestSubstring = function (s) {
let minIndex = 0
let count = 0
for (let i = 0; i < s.length; i++) {
//indexOf方法返回的是元素第一次出现的索引
if (s.indexOf(s[i], minIndex) < i) {
// 如果遇到重复的字符,会进入判断
minIndex = s.indexOf(s[i], minIndex) + 1
// 令索引从下一位开始查找,判断接下来的字符串是否与之前一样
}
else {
// 获得最长字符串的长度
// 比如'ababc' , minIndex = 2 , i = 4 , count = 2
count = Math.max(count , i - minIndex + 1)
}
}
return count
}
console.log(lengthOfLongestSubstring('ababc'))
indexOf
indexOf()
方法返回调用它的 String 对象中第一次出现的指定值的索引,从 fromIndex
处进行搜索。如果未找到该值,则返回 -1。
语法: str.indexOf(searchValue [, fromIndex])
参数
1. searchValue
要被查找的字符串值。如果没有提供确切地提供字符串,searchValue 会被强制设置为 "undefined", 然后在当前字符串中查找这个值。
2. fromIndex
(可选)
数字表示开始查找的位置。可以是任意整数,默认值为 0
。如果 fromIndex
的值小于 0
,或者大于 str.length
,那么查找分别从 0
和str.length
开始。
返回值
查找的字符串 searchValue
的第一次出现的索引,如果没有找到,则返回 -1
。
若被查找的字符串 searchValue
是一个空字符串,将会产生“奇怪”的结果。如果 fromIndex
值为空,或者 fromIndex
值小于被查找的字符串的长度,返回值和以下的 fromIndex
值一样:
'hello world'.indexOf('') // 返回 0
'hello world'.indexOf('', 0) // 返回 0
'hello world'.indexOf('', 3) // 返回 3
'hello world'.indexOf('', 8) // 返回 8
相关文章
- 使用Python检测符号及乱码字符
- leetcode 3. 无重复字符的最长子串 js 实现
- java读取输入字符串的操作过程_java查找字符串中重复字符
- 【力扣刷题】3. 无重复字符的最长子串
- Tesseract-OCR本文结构与旋转分析,识别字符白名单配置
- 力扣3-无重复字符的最长子串
- BAT面试算法进阶(2)- 无重复字符的最长子串(暴力法)
- 【C 语言】字符串 一级指针 内存模型 ( 指定大小字符数组 | 未指定大小字符数组 | 指向常量字符串的指针 | 指向堆内存的指针 )
- 【Groovy】字符串 ( 字符串类型变量定义 | 字符类型变量定义 )
- LeetCode(一)——无重复字符的最长子串
- Oracle字符函数应用检测汉字的方法
- Java移除字符串中的重复字符详解编程语言
- Linux处理特殊字符的办法(linux过滤字符)
- Linux字符自动重复功能探究(Linux字符重复)
- 使用Oracle字符分隔符实现数据分割(oracle字符分隔符)
- 算法练习之合并两个有序链表, 删除排序数组中的重复项,移除元素,实现strStr(),搜索插入位置,无重复字符的最长子串详解编程语言
- C语言isalnum()函数:判断一个字符是否是字母或者数字
- Oracle数据转换成字符—实现快速而可靠的数据处理(oracle转换为字符)
- MongoDB如何支持中文字符?(mongodb中文字符)
- Oracle 中换行字符的转义方法详解(oracle换行转义)
- Oracle中空格字符替换实现技巧(oracle空格替换)
- Oracle全面实现无缝字符替换技术(oracle全字替换)
- Python字符转换
- JS删除字符串中重复字符方法
- mysql修改数据库编码(数据库字符集)和表的字符编码的方法
- PHP中比较两个字符串找出第一个不同字符位置例子
- JavaScript实现查找字符串中第一个不重复的字符