找出最長的有效括號內子括號的長度

2021-09-06 13:29:45 字數 712 閱讀 9087

csdn程式設計挑戰裡的題目

給定只包含括號字元'('和 ')''的字串,請找出最長的有效括號內子括號的長度。

舉幾個例子如下: 例如對於"( ()",最長的有效的括號中的子字串是"()" ,有效

雙括號數1個,故它的長度為 2。 再比如對於字串") () () )",其中最長的有效

的括號中的子字串是"() ()",有效雙括號數2個,故它的長度為4。 再比如對於

"( () () )",它的長度為6。 換言之,便是有效雙括號"()"數的兩倍。 給

定函式原型int longestvalidparentheses(string s),請完成此函式,實現上述功能。

我提交的程式csdn反饋是有問題,但又沒給說具體的出錯測試用例.所以我也沒有再進一步除錯,感覺我的**沒問題.

1 #include 2 #include 3 #include 

45 #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 ...