前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >力扣——无重复字符的最长子串

力扣——无重复字符的最长子串

作者头像
且陶陶
发布2023-04-12 15:32:14
1940
发布2023-04-12 15:32:14
举报
文章被收录于专栏:Triciaの小世界

题目描述

给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。

示例

输入: s = "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。

分析

遍历整个字符串,如果遍历过程中发现了有与之前相同的字符,则比较后续字符与之前是否相同,直到遇到与之前不同的字符。

代码

代码语言:javascript
复制
 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 值一样:

代码语言:javascript
复制
'hello world'.indexOf('') // 返回 0
'hello world'.indexOf('', 0) // 返回 0
'hello world'.indexOf('', 3) // 返回 3
'hello world'.indexOf('', 8) // 返回 8
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-04-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 题目描述
  • 示例
  • 分析
  • 代码
    • indexOf
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档