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