国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

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

Cristalven / 3004人閱讀

摘要:標題答案字符串為空取出來所有不含重復字符的字符串取出來最長的字符串備忘問題給定一個字符串,請你找出其中不含有重復字符的最長子串答案如下字符串為空取出來所有不含重復字符的字符串取出來最長的字符串

標題答案
var str = "abcabcbb";
getLongStr(str);
// getLongStr("aa");
function getLongStr(str) {
    if(!str) {
        return "字符串為空";
    }
    if(str.length === 1) {
        return 1;
    }
    var arr = str.split("");
    var obj = {};
    var strArr = [];
    var nStr = ""
    var j = 0;

    // 取出來所有不含重復字符的字符串
    for(var i = 0, len = arr.length; i < len; i++) {
        var val = arr[i];
        if(obj[val]) {
            i = j;
            j++;
            obj = {};
            strArr.push(nStr);
            nStr = "";
        } else {
            obj[val] = true;
            nStr += val;
        }
    }
    
    // 取出來最長的字符串
    var longIndex = strArr[0].length;
    for (var i = 1, len = strArr.length; i < len; i++) {
        var nLen = strArr[i].length;
        var nVal = strArr[i];
        if (nLen > longIndex) {
            longIndex = nLen;
        }
    }
 
    return longIndex;
}
備忘

問題:給定一個字符串,請你找出其中不含有重復字符的最長子串?
答案如下:

// getLongStr("abcabcbb");
// getLongStr("aa");

function getLongStr(str) {
    str += "";
    if(!str) {
        return "字符串為空"
    }
    if(str.length === 1) {
        return str;
    }
    var arr = str.split("");
    var obj = {};
    var strArr = [];
    var nStr = ""
    var j = 0;

    // 取出來所有不含重復字符的字符串
    for(var i = 0, len = arr.length; i < len; i++) {
        var val = arr[i];
        if(obj[val]) {
            i = j;
            j++;
            obj = {};
            strArr.push(nStr);
            nStr = "";
        } else {
            obj[val] = true;
            nStr += val;
        }
    }
    
    // 取出來最長的字符串
    var longIndex = strArr[0].length;
    var longArr = [strArr[0]]
    for (var i = 1, len = strArr.length; i < len; i++) {
        var nLen = strArr[i].length;
        var nVal = strArr[i];
        if (nLen > longIndex) {
            longIndex = nLen;
            longArr = [nVal];
        }
        if (nLen === longIndex) {
            longArr.push(nVal)
        }
    }
 
    return [...new Set(longArr)].join();
}

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/102867.html

相關文章

  • LeetCode3.無重復字符最長子串JavaScript

    摘要:示例輸入輸出解釋因為無重復字符的最長子串是,所以其長度為。請注意,你的答案必須是子串的長度,是一個子序列,不是子串。 LeetCode3.無重復字符的最長子串JavaScript 給定一個字符串,請你找出其中不含有重復字符的最長子串的長度。 示例 1: 輸入: abcabcbb輸出: 3 解釋: 因為無重復字符的最長子串是 abc,所以其長度為 3。 示例 2: 輸入: bbbbb輸出...

    vboy1010 評論0 收藏0
  • 【leetcode】3. 無重復字符最長子串

    摘要:示例輸入輸出解釋因為無重復字符的最長子串是,所以其長度為。請注意,你的答案必須是子串的長度,是一個子序列,不是子串。完成循環后取隊列中出現的最大長度即可。 給定一個字符串,請你找出其中不含有重復字符的?最長子串?的長度。 示例?1: 輸入: abcabcbb 輸出: 3 解釋: 因為無重復字符的最長子串是 abc,所以其長度為 3。 示例 2: 輸入: bbbbb 輸出: 1 解釋:...

    qc1iu 評論0 收藏0
  • LeetCode.3 無重復字符最長子串(JS)

    摘要:先跳到第三題是因為第二題第一眼沒讀懂一題目無重復字符的最長子串給定一個字符串,請你找出其中不含有重復字符的最長子串的長度。示例輸入輸出解釋因為無重復字符的最長子串是,所以其長度為。以此來實現判斷是否包含重復字符。 先跳到第三題是因為第二題第一眼沒讀懂 一、題目 無重復字符的最長子串: 給定一個字符串,請你找出其中不含有重復字符的 最長子串 的長度。 示例1 輸入: abcabcbb輸...

    wthee 評論0 收藏0
  • JS算法題之leetcode(1~10)

    摘要:先去空白,去掉空白之后取第一個字符,判斷正負符號,若是英文直接返回,若數字則不取。回文數題目描述判斷一個整數是否是回文數。回文數是指正序從左向右和倒序從右向左讀都是一樣的整數。 JS算法題之leetcode(1~10) 前言 一直以來,前端開發的知識儲備在數據結構以及算法層面是有所暫缺的,可能歸根于我們的前端開發的業務性質,但是我認為任何的編程崗位都離不開數據結構以及算法。因此,我作為...

    SoapEye 評論0 收藏0
  • 前端中等算法-無重復字符最長子串

    摘要:無重復字符的最長子串難度中等描述給定一個字符串,請你找出其中不含有重復字符的最長子串的長度。輸入輸出解釋因為無重復字符的最長子串是,所以其長度為。 無重復字符的最長子串 難度:中等 描述: 給定一個字符串,請你找出其中不含有重復字符的 最長子串 的長度。 樣例: 輸入: abcabcbb 輸出: 3 解釋: 因為無重復字符的最長子串是 abc,所以其長度為 3。 輸入: bbbbb ...

    hyuan 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<