麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發(fā)設(shè)計 > 正文

leecode 解題總結(jié):32 Longest Valid Parentheses

2019-11-10 20:28:45
字體:
供稿:網(wǎng)友
#include <iostream>#include <stdio.h>#include <vector>#include <string>#include <stack>using namespace std;/*問題:Given a string containing just the characters '(' and ')', find the length of the longest valid (well-formed) parentheses substring.For "(()", the longest valid parentheses substring is "()", which has length = 2.Another example is ")()())", where the longest valid parentheses substring is "()()", which has length = 4.分析:此題相當于在字符串中尋找最長的有效括號對。如果暴力破解:就枚舉任意開始位置,從該起始位置不斷尋找符合有效括號對的字符,時間復雜度應(yīng)該為O(n^2)更特殊的,可以每次找到"("的位置,從該位置進行計算。也可以從后向前尋找"(",記錄dp[i]表示以A[i]為"("的有效長度,下次找到A[i]前面的一個"("記為A[j],dp[j]={dp[i] + i - j , if A[j]到A[i-1]不是有效括號對      { 0 ,if A[j]到A[i-1]不是有效括號對初始化:對任意,dp[i]=0一旦發(fā)現(xiàn)dp[j]=0,返回dp[i]輸入:(())()())()(())輸出:246報錯:Input:"()(())"Output:2Expected:6錯在了并沒有考慮(())這種嵌套情況,需要:羅列每個起始字符關(guān)鍵:1 //string.find(string s , int pos ,int n):pos表示從后向前查找的首個字符的位置,n表示查找字符串s的前面n個字符作為查找int index = s.rfind("(" , len);//rfind用于子串查找,find_last_of用于字符匹配2 另外一種解法是:凡是沒有遇到:棧頂為"(",且當前字符為")"的情況,就壓入當前字符到棧中;  否則,表示找到了一種匹配,則彈出棧頂元素,則此時棧頂對應(yīng)的是不匹配的元素下標,那么匹配的長度  就是當前字符的下標-棧頂下標。  注意之所以初始時壓入:-1,是為了"()"這種情況的時候,確保棧頂一定會存在一個元素*/class Solution {public:    int longestValidParentheses(string s) {if(s.empty()){return 0;}int len = s.length();stack<int> stackInt;stackInt.push(-1);//防止計算有效長度時棧為空異常int maxLen = 0;for(int i = 0 ; i < len ;i++){int index = stackInt.top();if(index != -1 && s[i] == ')' && s[index] == '('){stackInt.pop();maxLen = max(maxLen , i - stackInt.top());//這里有效長度=當前下標-棧頂對應(yīng)下標(最后一個不匹配的下標)}else{stackInt.push(i);}}return maxLen;}};void PRocess(){string str;while(cin >> str){Solution solution;int result = solution.longestValidParentheses(str);cout << result << endl;}}int main(int argc , char* argv[]){//test();process();getchar();return 0;}
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 久久91久久久久麻豆精品 | 毛片免费观看视频 | 在线看三级 | 性大片1000免费看 | 蜜桃网在线 | 国产影院一区 | 精品一区二区久久久久 | 福利免费在线观看 | 热99在线视频 | xxxxxx性 | 在线观看美女av | 欧美三级美国一级 | 高清做爰免费无遮网站挡 | 亚洲成人久久精品 | 国产视频软件在线 | 成人富二代短视频 | 久草在线视频看看 | 欧美a∨一区二区三区久久黄 | 青青国产在线视频 | 国产精品一区在线免费观看 | 久久草在线看 | 午夜精品久久久久久久久久久久久蜜桃 | 51色视频| 91女上位 在线播放 性欧美日本 | 97伦理| 在线看国产视频 | 在线成人免费观看www | 亚洲精品3 | 久久777国产线看观看精品 | 国产午夜亚洲精品午夜鲁丝片 | 国产精品久久久免费观看 | 亚洲成人免费电影 | 中文字幕精品一二三四五六七八 | 国产黄色网 | 亚洲第九十九页 | 牛牛a级毛片在线播放 | 一级裸体视频 | 中文字幕精品在线播放 | 精品亚洲在线 | 国产午夜亚洲精品理论片大丰影院 | 成人免费影院 |