资讯专栏INFORMATION COLUMN

Leetcode 第三题 | Longest Substring Without ..| Javas

supernavy / 701人阅读

摘要:题目思路初始令开始遍历每遍历一个检查第个之前的字符串有没有和相同的如果有就会小于那么令即是和相同的那个的下一个这时候和之间一个相同的字符串也没有不然的话假设小于的某个值和代表的值重复那么那个时候就是当前的了每做完这么一步更新不知大家有明白吗

题目

Given a string, find the length of the longest substring without repeating characters.

Examples:

Given "abcabcbb", the answer is "abc", which the length is 3.

Given "bbbbb", the answer is "b", with the length of 1.

Given "pwwkew", the answer is "wke", with the length of 3. Note that the answer must be a substring, "pwke" is a subsequence and not a substring.

思路

初始令i=1,ptr=0,开始遍历i;
每遍历一个i,检查第i个之前的字符串有没有和s[i]相同的;
如果有 index就会小于i 那么令 ptr = index + 1;
即ptr是和s[i]相同的那个s[index]的下一个.
这时候s[ptr]和s[i]之间一个相同的字符串也没有,不然的话.
假设小于i的某个值和ptr代表的值重复,那么那个时候ptr就是当前的ptr了
每做完这么一步,更新max.
...不知大家有明白吗..
不明白的话,理解一些indexOf和charAt函数的用法,实验几个例子,肯定就会了!

解法:
var lengthOfLongestSubstring  =  function(s)  {
    if (s.length <= 1)
        return s.length;
    
    let max = 1;
    let ptr = 0;
    
    for (let i = 1; i < s.length; i++) {
        let index = s.indexOf(s.charAt(i), ptr);
        if (index < i) {
            ptr = index + 1;
        }
        max = Math.max(max, i-ptr+1);
    } 
    return max;
};

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/89522.html

相关文章

  • LeetCode.5 最长回文子串(longest-palindromic-substring)(J

    摘要:一题目最长回文子串给定一个字符串,找到中最长的回文子串。你可以假设的最大长度为。示例输入输出注意也是一个有效答案。 一、题目 最长回文子串: 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 示例 1: 输入: babad输出: bab注意: aba 也是一个有效答案。 示例 2: 输入: cbbd输出: bb 二、我的答案 思路 1.排...

    Steven 评论0 收藏0
  • Leetcode 3 Longest Substring Without Repeat... 最长无

    摘要:难度题意是求最长无重复子串给出一个字符串从所有子串中找出最长且没有重复字母的子串的长度我的解法是以为例使用一个记录当前子串遇到的所有字符用一个游标从头开始读取字符加入到中如果碰到了重复字符遇到了重复则从当前子串的头部的字符开始将该字符从中移 Longest Substring Without Repeating CharactersGiven a string, find the le...

    RyanHoo 评论0 收藏0
  • [Leetcode] Longest Substring Without Repeating Cha

    摘要:哈希表是最自然的想法。在遍历字符串时,我们先根据哈希表找出该字符上次出现的位置,如果大于等于子字符串首,便更新子字符串首。结束后,将该字符新的位置放入哈希表中。 Longest Substring Without Repeating Characters 最新更新解法:https://yanjia.me/zh/2018/12/... Given a string, find the ...

    FleyX 评论0 收藏0
  • [Leetcode]Longest Substring Without Repeating Char

    摘要:解题思路本题借助实现。如果字符未出现过,则字符,如果字符出现过,则维护上次出现的遍历的起始点。注意点每次都要更新字符的位置最后返回时,一定要考虑到从到字符串末尾都没有遇到重复字符的情况,所欲需要比较下和的大小。 Longest Substring Without Repeating CharactersGiven a string, find the length of the lon...

    awesome23 评论0 收藏0
  • LeetCode——Longest Substring Without Repeating Char

    摘要:原问题我的沙雕解法无重复字母存在重复字母挨打最暴力的无脑解法,耗时。。。 原问题 Given a string, find the length of the longest substring without repeating characters. Example 1: Input: abcabcbb Output: 3 Explanation: The answer is a...

    forsigner 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<