成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

一個(gè)有關(guān)字符串子串的有趣問(wèn)題

YanceyOfficial / 3285人閱讀

摘要:?jiǎn)栴}描述輸入一個(gè)字符串。從輸入的字符串中截取一段連續(xù)的片段作為子串,且子串滿足從左往右數(shù),的個(gè)數(shù)總是不比少。輸出其滿足條件的最長(zhǎng)的子串的長(zhǎng)度。下面是的實(shí)現(xiàn)解決思路窮舉從第個(gè)字符開始的所有滿足條件的最長(zhǎng)字符串,取其中最長(zhǎng)的。

問(wèn)題描述:

輸入一個(gè)字符串。

輸入的字符串僅由"0"和"1"組成,比如"10100011101"這樣的。

從輸入的字符串中截取一段連續(xù)的片段作為子串,且子串滿足從左往右數(shù),"0"的個(gè)數(shù)總是不比"1"少。

輸出其滿足條件的最長(zhǎng)的子串的長(zhǎng)度。

下面是JavaScript的實(shí)現(xiàn):

function subString(str){
    var arr = str.split("");
    var result = 0;
    (function loop(i){
        if (result + i <= arr.length && arr[i] !== "0"){
            loop(i+1);
        } else if ( result + i <= arr.length ) {
            var l = 1;
            var subLength = 1;            
            (function subLoop(k){
                if( l > 0 || arr[k] === "0" && k < arr.length ){
                    subLength++;
                    l += arr[k]==="0" ? 1 : -1;
                    result = result>subLength ? result : subLength;
                    subLoop(k+1);
                } else if ( k < arr.length ) {
                    loop(i+1)
                }
            }(i+1))
        }
    }(0))

    return result;
}

解決思路:窮舉從第i個(gè)字符開始的所有滿足條件的最長(zhǎng)字符串,取其中最長(zhǎng)的。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/90863.html

相關(guān)文章

  • [Leetcode] Distinct Subsequences 不同順序字串

    摘要:計(jì)算元素值時(shí),當(dāng)末尾字母一樣,實(shí)際上是左方數(shù)字加左上方數(shù)字,當(dāng)不一樣時(shí),就是左方的數(shù)字。示意圖代碼如果這個(gè)字符串有個(gè)怎么辦用暴力法,對(duì)每一位開始向后檢查是否是。 Distinct Subsequences Given a string S and a string T, count the number of distinct subsequences of T in S. A su...

    SnaiLiu 評(píng)論0 收藏0
  • 數(shù)據(jù)結(jié)構(gòu)-BF算法及KMP算法

    摘要:算法代碼復(fù)雜度最壞情況的時(shí)間復(fù)雜度。算法簡(jiǎn)單記憶分為兩步模式串掃描,生成數(shù)組,。算法對(duì)算法的回溯問(wèn)題進(jìn)行了改進(jìn),在整個(gè)匹配過(guò)程中對(duì)主串僅需從頭至尾掃描一遍。在定義函數(shù)時(shí)在參數(shù)前加上改為引傳遞。一般情況為值傳遞,對(duì)象除外。 BF算法 代碼 復(fù)雜度 最壞情況的時(shí)間復(fù)雜度O(m*n)。m為模式串長(zhǎng)度。n為目標(biāo)串長(zhǎng)度。 KMP算法 代碼 時(shí)間復(fù)雜度 時(shí)間復(fù)雜度為O(m+n)。m為模式串長(zhǎng)度...

    jollywing 評(píng)論0 收藏0
  • Python--Redis實(shí)戰(zhàn):第三章:Redis命令:第一節(jié):字符

    摘要:對(duì)字符串執(zhí)行自增和自減操作的實(shí)例導(dǎo)入包包與本地進(jìn)行鏈接,地址為,端口號(hào)為嘗試獲取一個(gè)不存在的鍵將得到一個(gè)值。上一篇文章實(shí)戰(zhàn)第二章使用構(gòu)建應(yīng)用第五節(jié)網(wǎng)頁(yè)分析下一篇文章實(shí)戰(zhàn)第三章命令第二節(jié)列表 上一篇文章: Python--Redis實(shí)戰(zhàn):第二章:使用Redis構(gòu)建Web應(yīng)用:第五節(jié):網(wǎng)頁(yè)分析下一篇文章:Python--Redis實(shí)戰(zhàn):第三章:Redis命令:第二節(jié):列表 在Redis里...

    HelKyle 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<