演算法設計與分析第八周leetcode

2021-08-30 06:40:56 字數 1115 閱讀 8526

longest valid parentheses

difficulty:hard

total accepted:151.5k

total submissions:629.9k

given a string containing just the characters 『(』 and 『)』, find the length of the longest valid (well-formed) parentheses substring.

example 1:

input: "(()"

output: 2

explanation: the longest valid parentheses substring is "()"

example 2:

input: ")()())"

output: 4

explanation: the longest valid parentheses substring is "()()"

解答過程:

一開始思路是計算可以與』(『匹配的』)'數量來計算結果,但是這樣算的答案不是不一定是字串的,例如"(()(()「用這個方法算出來的是4,將兩個」()「都計算了,但這兩個」()"並非連在一起的子字串,正確答案應該為2

下面是一開始的錯誤**:

class solution 

else

}} return result;

}};

為了正確計算子字串的長度,很明顯需要將無法匹配的括號位置單獨記錄下來,上面的例子"(()(()「就需要將第0和第3號位置的」("單獨記錄位置以標記這兩個端點。處理之後,兩個子字串範圍分別為[1 ~ 2] 和 [4 ~ 5] ,取子字串長度最長即為答案。

下面為最終**:

class solution 

else

} if (stack.size() == 0)

else

result = max(stack.top(), result);

} return result;

}};

第八周 順序串演算法

煙台大學計算機與控制工程學院 作 者 郝環宇 日期 10.20 問題描述 採用順序儲存方式儲存串,實現下列演算法並測試 1 試編寫演算法實現將字串s中所有值為c1的字元換成值為c2的字元 void trans sqstring s,char c1,char c2 2 試編寫演算法,實現將已知字串所有...

第八周 刪除

題目描述 從串s中刪除其值等於c的所有字元。如從message中刪除 e 得到的就是mssag 1 演算法庫中的標頭檔案部分 ifndef sqstring h included define sqstring h included define maxsize 100 最多的字元個數 typede...

第八周學習

第八周學習週報 2018.10.22 10.28 一 本週學習情況 本週主要學習了 開源硬體 arduino基礎教程 1 歐姆定律 2 光敏電阻與三極體的初步認識 3 多種方法控制並點亮led燈 按鈕開關,光敏開關,紅外開關 訪問了csdn社群的計算機基礎板塊,學習大神的帖子。利用開源硬體對網課裡的...