摘要:問題描述輸入一個字符串。從輸入的字符串中截取一段連續(xù)的片段作為子串,且子串滿足從左往右數(shù),的個數(shù)總是不比少。輸出其滿足條件的最長的子串的長度。下面是的實(shí)現(xiàn)解決思路窮舉從第個字符開始的所有滿足條件的最長字符串,取其中最長的。
問題描述:
輸入一個字符串。
輸入的字符串僅由"0"和"1"組成,比如"10100011101"這樣的。
從輸入的字符串中截取一段連續(xù)的片段作為子串,且子串滿足從左往右數(shù),"0"的個數(shù)總是不比"1"少。
輸出其滿足條件的最長的子串的長度。
下面是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個字符開始的所有滿足條件的最長字符串,取其中最長的。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/90863.html
摘要:計(jì)算元素值時(shí),當(dāng)末尾字母一樣,實(shí)際上是左方數(shù)字加左上方數(shù)字,當(dāng)不一樣時(shí),就是左方的數(shù)字。示意圖代碼如果這個字符串有個怎么辦用暴力法,對每一位開始向后檢查是否是。 Distinct Subsequences Given a string S and a string T, count the number of distinct subsequences of T in S. A su...
摘要:算法代碼復(fù)雜度最壞情況的時(shí)間復(fù)雜度。算法簡單記憶分為兩步模式串掃描,生成數(shù)組,。算法對算法的回溯問題進(jìn)行了改進(jìn),在整個匹配過程中對主串僅需從頭至尾掃描一遍。在定義函數(shù)時(shí)在參數(shù)前加上改為引傳遞。一般情況為值傳遞,對象除外。 BF算法 代碼 復(fù)雜度 最壞情況的時(shí)間復(fù)雜度O(m*n)。m為模式串長度。n為目標(biāo)串長度。 KMP算法 代碼 時(shí)間復(fù)雜度 時(shí)間復(fù)雜度為O(m+n)。m為模式串長度...
摘要:對字符串執(zhí)行自增和自減操作的實(shí)例導(dǎo)入包包與本地進(jìn)行鏈接,地址為,端口號為嘗試獲取一個不存在的鍵將得到一個值。上一篇文章實(shí)戰(zhàn)第二章使用構(gòu)建應(yīng)用第五節(jié)網(wǎng)頁分析下一篇文章實(shí)戰(zhàn)第三章命令第二節(jié)列表 上一篇文章: Python--Redis實(shí)戰(zhàn):第二章:使用Redis構(gòu)建Web應(yīng)用:第五節(jié):網(wǎng)頁分析下一篇文章:Python--Redis實(shí)戰(zhàn):第三章:Redis命令:第二節(jié):列表 在Redis里...
閱讀 1111·2021-11-16 11:45
閱讀 3132·2021-10-13 09:40
閱讀 723·2019-08-26 13:45
閱讀 1210·2019-08-26 13:32
閱讀 2177·2019-08-26 13:23
閱讀 918·2019-08-26 12:16
閱讀 2830·2019-08-26 11:37
閱讀 1758·2019-08-26 10:32