JavaScript算法系列--無連續重複字符的最長子串

給定一個字符串,請你找出其中不含有連續重複字符的最長子串的長度。

示例 1:

輸入: "abcabcbb"
輸出: 7
解釋: 因爲無連續重複字符的最長子串是 "abcabcb",所以其長度爲 7。

示例 2:

輸入: "bbbbb"
輸出: 1
解釋: 因爲無連續重複字符的最長子串是 "b",所以其長度爲 1。

示例 3:

輸入: "sdfffffsdee"
輸出: 4
解釋: 因爲無連續重複字符的最長子串是 "fsde",所以其長度爲 4。

話不多說,上code:

    var lengthOfNopersistenceStr = function (s) {
      if (typeof s === 'string' && s !== '') {
        s = s.replace(/(\w)(?:\1+)/g, function () {
          return arguments[1] + ' ' + arguments[1]
        })
        const arr = s.split(' ')
        const nums = []
        for (const item of arr) {
          nums.push(item.length)
        }
        return Math.max(...nums)
      }
      return 0
    }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章