括號字串的最長有效長度

2021-10-09 22:59:29 字數 910 閱讀 3783

括號字串的最長有效長度

給定乙個括號字串str,返回最長的能夠完全正確匹配括號字元字串的長度。

輸入描述:

輸出一行字串,代表str

(1≤l

engt

hstr

≤105

)str(1 \leq length_ \leq 10^5)

str(1≤

leng

thst

r​≤1

05)。

輸出描述:

輸出乙個整數,代表括號字串的最長有效長度。

示例1輸入

(()())
輸出
6
示例2

輸入

())
輸出
2
備註:

時間複雜度o(n

)o(n)

o(n)

,額外空間複雜度o(n

)o(n)

o(n)

。題解:

一維動態規劃,f[i] 表示 str[0…i] 以字元 str[i] 結尾的最長有效括號子串長度,分以下幾種情況:

**:

#include

#include

using

namespace std;

const

int n =

100001

;char s[n]

;int f[n]

;int

main

(void)if

(f[i]

> ret) ret = f[i];}

printf

("%d\n"

, ret)

;return0;

}

字串 最長有效括號

給定乙個只包含 和 的字串,找出最長的包含有效括號的子串的長度。示例 1 輸入 輸出 2 解釋 最長有效括號子串為 示例 2 輸入 輸出 4 解釋 最長有效括號子串為 思路 記錄左右括號的個數 相等了就比較更新答案 如果count2 count1 就結算 從0開始 注意 還要從右向左遍歷!不然會漏掉...

括號字串的有效性和最長有效長度

給定乙個字串s,判斷是不是整體有效的括號字串。例如 遍歷字串,記錄待匹配的 的個數count,遇到 count 1,遇到 count 1,如果過程中count 0,返回false。遍歷完成,且count恰好為0,返回true def is valid s if s is none orlen s 2...

括號字串的有效性和最長有效長度

獲取最長的有效括號子串 題目 給定乙個字串s,判斷是不是整體有效的括號字串。舉例 s 返回true s 返回true s 返回true。s 返回false s 返回false s a 返回false。演算法思路 整體有效的括號字串是指匹配的圓括號弧 無其他括號 遍歷整個字串s 若遇到除 和 之外的字...