csdn程式設計挑戰裡的題目
給定只包含括號字元'('和 ')''的字串,請找出最長的有效括號內子括號的長度。
舉幾個例子如下: 例如對於"( ()",最長的有效的括號中的子字串是"()" ,有效
雙括號數1個,故它的長度為 2。 再比如對於字串") () () )",其中最長的有效
的括號中的子字串是"() ()",有效雙括號數2個,故它的長度為4。 再比如對於
"( () () )",它的長度為6。 換言之,便是有效雙括號"()"數的兩倍。 給
定函式原型int longestvalidparentheses(string s),請完成此函式,實現上述功能。
我提交的程式csdn反饋是有問題,但又沒給說具體的出錯測試用例.所以我也沒有再進一步除錯,感覺我的**沒問題.
1 #include 2 #include 3 #include45 #include 6 #include 7 #include 8 #include 9
10int longestvalidparentheses(const
char*s)
1125
else
if (s[i] == ')'
)2635else
3639}40
else
4144}45
}4647return
rst;
48 }
最長有效括號
leedcode32 給定乙個只包含 和 的字串,找出最長的包含有效括號的子串的長度。示例 1 輸入 輸出 2解釋 最長有效括號子串為 示例 2 輸入 輸出 4解釋 最長有效括號子串為 思路 首先生成乙個長度和s一樣的陣列dp,dp i 表示以i結尾的字元的最長有效括號子串長度。顯然dp 0 0 假...
最長有效括號
給定乙個只包含 和 的字串,找出最長的包含有效括號的子串的長度。示例 1 輸入 輸出 2解釋 最長有效括號子串為 示例 2 輸入 輸出 4解釋 最長有效括號子串為 思路 解法1 借助棧 借助棧來求解,需要定義個start變數來記錄合法括號串的起始位置,我們遍歷字串,如果遇到左括號,則將當前下標壓入棧...
最長有效括號
給定乙個只包含 和 的字串,找出最長的包含有效括號的子串的長度。輸入 輸出 2 解釋 最長有效括號子串為 輸入 輸出 4 解釋 最長有效括號子串為 用陣列dp i 表示括號串s i 結尾的最大括號字串長度。當 s i 是 時,dp i 一定為0。當s i 為 時,判斷s i 1 是否為 s i 1 ...