• 【leetcode-03】给定一个字符串,请你找出其中不含有重复字符的最长子串的长度


    开个新坑,leetcode上面做题目。下面是题目描述:

    <!-- 给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。
    
            示例 1:
    
            输入: "abcabcbb"
            输出: 3
            解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。
            示例 2:
    
            输入: "bbbbb"
            输出: 1
            解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。
            示例 3:
    
            输入: "pwwkew"
            输出: 3
            解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。
            请注意,你的答案必须是 子串 的长度,"pwke" 是一个子序列,不是子串。 -->
    子串呢,顾名思义,就是一连串不间断的,子序列是可以间断的。

    下面是我注释了解题思路的答案,这个我没解出来,在网上搜索了一下答案,也都是些其他语言的解法,他们是用hashMap,js没有这个吧,不太一样,

    我就关注了一下解题思路。

    /**
                 * @param {string} s
                 * @return {number}
                 */
                // 使用双指针解决 + hash
                // 定义一个map用来充当滑块,end往右边走
                // 如果map里没有s[end],就把s[end]丢到map里,同时刷新无重复字符的最大长度
                // 如果map里有s[end],那么就从左边开始删,直到把重复的那个值删掉,重新进入无重复的条件中
                var lengthOfLongestSubstring = function(s) {
                    const len = s.length
                    let hashMap = new Map()
                    let start = 0
                    let end = 0
                    let maxLen = 0
    
                    while (end < len) {
                        if (!hashMap.has(s[end])) {
                            hashMap.set(s[end++], 1)
                            maxLen = Math.max(maxLen, [...hashMap.keys()].length)
                        } else {
                            hashMap.delete(s[start++])
                        }
                    }
                    return maxLen
                };
    
                lengthOfLongestSubstring('abfcdfabcdbb')

    这道题就到这里,我们做这种算法题呢,不是为了去什么bat公司,只是为了培养遇到了问题的思路,开拓思路,开阔眼见,如此而已

    好记性不如烂笔头,看到自己觉得应该记录的知识点,结合自己的理解进行记录,用于以后回顾。
  • 相关阅读:
    CentOS(RedHat) 6.2 Samba share权限拒绝访问
    Android NDK调试C++源码(转)
    linux du命令: 显示文件、目录大小
    网络游戏的同步
    游戏开发辅助库
    Unity3D 200个插件免费分享
    C#UDP同步实例
    C#UDP(接收和发送源码)源码完整
    C#完整的通信代码(点对点,点对多,同步,异步,UDP,TCP)
    内置函数及匿名函数
  • 原文地址:https://www.cnblogs.com/wangxi01/p/10755448.html
Copyright © 2020-2023  润新知