首页 > 其他分享 >无重复字符的最长子串

无重复字符的最长子串

时间:2022-09-25 21:23:20浏览次数:82  
标签:子串 字符 arr index max 解题 let 数组 最长

目录

题目描述

  1. 题目地址:https://leetcode.cn/problems/longest-substring-without-repeating-characters/
  2. 题目要求
    给定一个字符串 s ,请你找出其中不含有重复字符的最长子串的长度。

解题思路

  1. 初始化为一个空数组,并定义一个变量记录空数组的长度;
  2. 使用 indexOf 判断是否在数组中出现过,如果出现过,用splice从数组开头到当前字符串全部截取掉,如果没有,使用push放入新数组;
  3. 同时记录Max的值

解题代码

var lengthOfLongestSubstring = function(s) {
    let arr = [];
    let max = 0;
    for (let i = 0; i < s.length; i++) {
        let index = arr.indexOf(s[i]);
        if (index !== -1) {
            arr.splice(0, index + 1);
        }
        arr.push(s[i]);
        max = Math.max(arr.length, max);
    }
    return max;
};

标签:子串,字符,arr,index,max,解题,let,数组,最长
From: https://www.cnblogs.com/xiayuxue/p/16728985.html

相关文章

  • BM83 字符串变形
    描述对于一个长度为n 字符串,我们需要对它做一些变形。 首先这个字符串中包含着一些空格,就像"HelloWorld"一样,然后我们要做的是把这个字符串中由空格隔开的单词反......
  • 最长不下降子序列
    #include<bits/stdc++.h>usingnamespacestd;intdfs(int);intmax(int,int);intmaxn=0,n,a[10000],f[10000];intmain(){cin>>n;for(inti=1;i<=n;i......
  • 最长不下降子序列
    题目:设有由n(1≤n≤200))个不相同的整数组成的数列,记为:b(1)、b(2)、……、b(n)b(1)、b(2)、……、b(n)若存在i1<i2<i3<…<ie且有b(i1)<=b(i2)<=…<=b(ie)则称为长度为e......
  • 最长上升子序列(LIS)
    题目:LIS(LongestIncreasingSubsequence)为最长上升子序列:给定n个元素的数列,求最长的上升子序列长度(LIS)。一个数的序列ai,当a1<a2<…<aS的时候,我们称这个序列是......
  • SQL Server如何精准匹配字符中的字符,绝对匹配。
    举例:我现在是需要查询这字段里包含1的数据我如果直接charindex,那么11,12也会被包含。解决(1):SELECT *FROM (SELECT'1,2,12,111'ASstrUNIONALLSELECT'2,12,1......
  • 【以练促学】(C++基础语法)字符串篇
    (持续刷题持续更新...) 1.读取字符串cin>>arr;//输入字符串时,遇到空格或回车就会停止2. 读含空格字符串的3种方法:fgets(arr,100,stdin);cin.getline(arr,10......
  • ArcGIS 修改属性字段类型 字符串转数字
    https://www.docin.com/p-58631989.htmlhttps://support.esri.com/zh-cn/technical-article/000002287......
  • 关于字符编码Qt
    QString中汉字是按照UTF-8编码的,QString::toUtf8是输出UTF-8字符集,QString::local8bit是本地操作系统的字符集,QString::tolatin是Ascii码字符集下图代码中,汉字转成latin......
  • C语言第18天,字符串处理函数
    字符串处理函数与printf不同,这些函数不在之前熟悉的头文件stdio.h中。而是在字符串专用的头文件string.h中。1.获取字符串长度strlenstrlen函数可以获取字符数组中的字......
  • fmt.Printf() 如果 format 里结尾没有 \n,输出的字符串串结尾会带有一个 '%'
    今天发现fmt.Printf(format,...args)如果format里结尾没有\n,输出的字符串串结尾会带有一个'%'fmt.Printf("latency=%v",latency)输出结果latency=1001%在......