zoukankan      html  css  js  c++  java
  • javascript 实现无重复字符的最长子串

    出处: 本人掘金文章

    # javascript 实现无重复字符的最长子串

    lengthOfLongestSubstring (s) {
      let str = ''
      let arr = []
      let target = []
    ​
      for (let i of s) {
        if (str.indexOf(i) < 0) {
          str += i
        } else {
          arr.push(str)
          str = i
        }
      }
      arr.push(str)
      // 排序
      arr.sort((a, b) => {
        return b.length - a.length
      })
      // 有几个子集长度相等的情况
      arr.forEach(list => {
        if (arr[0].length === list.length) {
          target.push(list)
        }
      })
      console.log(target)
    }
    ​
    // target 内容就是结果, 包含1或者n个子集长度相等的情况
    lengthOfLongestSubstring("laijinxianzxcvbnm") // ["ianzxcvb"] 1个子集长度最长
    lengthOfLongestSubstring("dsauhdahfufansdmn") // ["fansdm"] 1个子集长度最长
    lengthOfLongestSubstring("laijinxianzxcvbnm") // ["qwert", "tyuio", "oasdf"] 3个子集长度相同

    # 这个方案肯的不是最优解;但作为实现这个已经可以满足了, 欢迎留言其他解法

    # 目前我没发现问题, 有问题欢迎留言共同学习

  • 相关阅读:
    逗号操作符使用小技巧
    字符解码?
    画图 wx.Window pen
    进程和线程
    内存管理
    简单的文本编辑器
    迭代器 Iterator
    文件操作
    ebay api学习
    一,wxpython入门
  • 原文地址:https://www.cnblogs.com/ljx20180807/p/13438901.html
Copyright © 2011-2022 走看看