当前位置: 首页 > news >正文

哈尔滨网站设计快速建站怎么做自己的公司网站放在百度

哈尔滨网站设计快速建站,怎么做自己的公司网站放在百度,商城类网站功能,北京百度seo价格题目 给你一个只包含 ‘(’ 和 ‘)’ 的字符串 s s s#xff0c;找出最长有效#xff08;格式正确且连续#xff09;括号子串的长度。 方法 动态规划 d p [ i ] dp[i] dp[i] 表示以 s [ i ] s[i] s[i] 结尾的最长有效括号的长度如果 s [ i ] s[i] s[i] 为左括号#…题目 给你一个只包含 ‘(’ 和 ‘)’ 的字符串 s s s找出最长有效格式正确且连续括号子串的长度。 方法 动态规划 d p [ i ] dp[i] dp[i] 表示以 s [ i ] s[i] s[i] 结尾的最长有效括号的长度如果 s [ i ] s[i] s[i] 为左括号则 d p [ i ] 0 dp[i] 0 dp[i]0如果 s [ i ] s[i] s[i] 为右括号 若 s [ i − 1 ] s[i-1] s[i−1] 为左括号 则 d p [ i ] d p [ i − 2 ] 2 dp[i] dp[i-2] 2 dp[i]dp[i−2]2若 s [ i − 1 ] s[i-1] s[i−1] 为右括号 若 s [ i − 1 − d p [ i − 1 ] ] s[i-1-dp[i-1]] s[i−1−dp[i−1]] 为左括号则 d p [ i ] d p [ i − 1 ] d p [ i − 2 − d p [ i − 1 ] ] 2 dp[i] dp[i-1] dp[i-2-dp[i-1]] 2 dp[i]dp[i−1]dp[i−2−dp[i−1]]2若 s [ i − 1 − d p [ i − 1 ] ] s[i-1-dp[i-1]] s[i−1−dp[i−1]] 为右括号则 d p [ i ] 0 dp[i] 0 dp[i]0 栈 始终保持栈底元素为最后一个没有被匹配的右括号的下标这样的做法主要是考虑了边界条件的处理栈里其他元素维护左括号的下标 对于遇到的每个‘(’ 我们将它的下标放入栈中对于遇到的每个‘)’我们先弹出栈顶元素表示匹配了当前右括号 如果栈为空说明当前的右括号为没有被匹配的右括号我们将其下标放入栈中来更新我们之前提到最后一个没有被匹配的右括号的下标如果栈不为空当前右括号的下标减去栈顶元素即为以该右括号为结尾的最长有效括号的长度 我们从前往后遍历字符串并更新答案即可。 需要注意的是如果一开始栈为空第一个字符为左括号的时候我们会将其放入栈中这样就不满足提及的最后一个没有被匹配的右括号的下标为了保持统一我们在一开始的时候往栈中放入一个值为 − 1 -1 −1 的元素 两次遍历 从左往右遍历字符串 当遇到左括号时 l e f t left left 加一当遇到右括号时 r i g h t right right 加一当 l e f t r i g h t left right leftright更新一次最长有效括号的长度当 l e f t r i g h t left right leftright将两个变量清零 从右往左遍历字符串 当遇到左括号时 l e f t left left 加一当遇到右括号时 r i g h t right right 加一当 l e f t r i g h t left right leftright更新一次最长有效括号的长度当 l e f t r i g h t left right leftright将两个变量清零 代码 class Solution { public:int longestValidParentheses(string s) {// int n s.size();// stackint stk;// vectorvectorint ind_list;// stk.push(-1);// int ret 0;// for(int i 0; i n; i){// if(s[i] (){// stk.push(i);// }// else{// if(stk.top() ! -1){// if(ind_list.size()0 stk.top()-ind_list[ind_list.size()-1][1] 0){// ind_list[ind_list.size()-1][0] stk.top();// ind_list[ind_list.size()-1][1] i;// }// else// ind_list.push_back({stk.top(), i});// if(ind_list.size()2){// int r1 ind_list[ind_list.size()-2][1];// int l2 ind_list[ind_list.size()-1][0];// int r2 ind_list[ind_list.size()-1][1];// if(l2-r1 1){// ind_list[ind_list.size()-2][1] r2;// ind_list.pop_back();// }// }// stk.pop();// }// }// }// for(int i 0; i ind_list.size(); i){// ret max(ret, ind_list[i][1]-ind_list[i][0]1);// }// return ret;// 1 dp// int n s.size();// vectorint dp(n, 0);// int ret 0;// for(int i 1; i n; i){// if(s[i] ) s[i-1] (){// if(i 2)// dp[i] dp[i-2] 2;// else// dp[i] 2;// }// else if(s[i] ) s[i-1] )){// if(i-1-dp[i-1] 0 s[i-1-dp[i-1]] (){// if(i-2-dp[i-1] 0)// dp[i] dp[i-1] 2 dp[i-2-dp[i-1]];// else // dp[i] dp[i-1] 2;// }// }// ret max(ret, dp[i]);// }// return ret;// 2 stackint n s.size();stackint stk;stk.push(-1);int ret 0;for(int i 0; i n; i){if(s[i] (){stk.push(i);}else{stk.pop();if(stk.empty()){stk.push(i);}else{ret max(ret, i-stk.top());}}}return ret;// 3// int n s.size();// int left 0, right 0;// int ret 0;// for(int i 0; i n; i){// if(s[i] (){// left;// }// else{// right;// }// if(left right){// ret max(ret, 2*left);// }// else if(right left){// right 0;// left 0;// }// }// left 0; right 0;// for(int i n-1; i 0; i--){// if(s[i] (){// left;// }// else{// right;// }// if(left right){// ret max(ret, 2*left);// }// else if(right left){// right 0;// left 0;// }// }// return ret;} };
http://www.zqtcl.cn/news/669081/

相关文章:

  • 拟一份饰品网站建设合同网站开发应注意哪些问题
  • 芜湖建站公司做网站的人多吗
  • 网站怎么加二级域名微信授权登录网站退出怎么做
  • 如何把旅行社网站做的好看网站创建方案怎么写
  • 织梦网站图标更换宠物网页设计图片
  • 如何查找网站竞争对手的宣传方式北京网站搭建公司电话
  • 北京正规制作网站公司wordpress 获取图片地址
  • 大学路网站建设推广图片素材
  • wordpress 创建网站搜索引擎优化代理
  • 设计网站用什么软件盈江城乡建设局网站
  • 网站建设模式有哪些内容seo品牌
  • 衡水做网站服务商济南如何挑选网站建设公司
  • 全屏的网站制作企业网站欢迎界面素材
  • 视频网站切片怎么做网站建设可自学吗
  • 本地推广平台网站seo优化如何做
  • 网站建设费算费用还是固定资产百度秒收录
  • 企业建站系统营销吧tt团队韩国企业网站设计
  • 上海嘉定网站建设公司有没有知道网址的
  • 电商网站的银行支付接入该怎么做杭州微信小程序外包
  • 余姚网站推广策划案门户网站做等保需要备案哪些
  • 网站关键字优化公司wordpress制作百度地图xml
  • 网站建设进度总结网站文件权限设置
  • 织梦网站如何做地区分站厦门网站代理
  • 模板做网站优缺点网络营销推广公司获客
  • 如何做网站充值用flash做网站超链接
  • 网站图片管理系统临沂百度推广多少钱
  • 渭南建设用地规划查询网站教育局两学一做网站
  • 无锡专业网站制作的公司长春seo技术
  • 东莞做网站哪家最好电商网站支付接口
  • 西安火车站网站建设深圳做百度网站