日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

301 Remove Invalid Parentheses 删除无效的括号

發布時間:2023/11/27 生活经验 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 301 Remove Invalid Parentheses 删除无效的括号 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

刪除最小數目的無效括號,使輸入的字符串有效,返回所有可能的結果。
注意: 輸入可能包含了除 ( 和 ) 以外的元素。
示例 :
"()())()" -> ["()()()", "(())()"]
"(a)())()" -> ["(a)()()", "(a())()"]
")(" -> [""]
詳見:https://leetcode.com/problems/remove-invalid-parentheses/description/

方法一:

class Solution {  
public:  vector<string> removeInvalidParentheses(string s) {  vector<string> ans; helperDFS(s, ')', 0,ans);  return ans;  }  void helperDFS(string s, char ch, int last,vector<string> &ans)  {  for(int i = 0, cnt = 0; i < s.size(); i++)  {  if(s[i]=='('||s[i]==')'){s[i]==ch?cnt++:cnt--; }if(cnt <= 0){continue;  }for(int j = last; j <= i; j++)  {  if(s[j] == ch && (j ==last || s[j-1]!= ch))  {helperDFS(s.substr(0, j)+s.substr(j+1), ch, j,ans);  }}  return;  }  reverse(s.begin(), s.end());  if(ch == ')'){return helperDFS(s, '(', 0,ans);  }ans.push_back(s);  }  
};  

?方法二:

class Solution {
public:vector<string> removeInvalidParentheses(string s) {vector<string> res;unordered_set<string> visited{{s}};queue<string> q{{s}};bool found = false;while (!q.empty()){string t = q.front();q.pop();if (isValid(t)) {res.push_back(t);found = true;}if (found){continue;}for (int i = 0; i < t.size(); ++i) {if (t[i] != '(' && t[i] != ')'){continue;}string str = t.substr(0, i) + t.substr(i + 1);if (!visited.count(str)) {q.push(str);visited.insert(str);}}}return res;}bool isValid(string t) {int cnt = 0;for (int i = 0; i < t.size(); ++i) {if (t[i] == '('){++cnt;}else if (t[i] == ')' && --cnt < 0){return false;}}return cnt == 0;}
};

?參考:https://blog.csdn.net/qq508618087/article/details/50408894

https://www.cnblogs.com/grandyang/p/4944875.html

轉載于:https://www.cnblogs.com/xidian2014/p/8781578.html

總結

以上是生活随笔為你收集整理的301 Remove Invalid Parentheses 删除无效的括号的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。