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

有什么好的网站推荐一下wordpress 加微信号

有什么好的网站推荐一下,wordpress 加微信号,企业宣传方式有哪些,spoc课程网站建设这道题放在动态规划里属实是有点难为人了,感觉用动态规划来做反而更难理解了,这道题用索引栈来做相当好理解,这里先讲下索引栈的思路。 索引栈做法 我们定义一个存放整数的栈,定义一个全局变量result来记录最长有效子串的长度&a…


这道题放在动态规划里属实是有点难为人了,感觉用动态规划来做反而更难理解了,这道题用索引栈来做相当好理解,这里先讲下索引栈的思路。

索引栈做法

我们定义一个存放整数的栈,定义一个全局变量result来记录最长有效子串的长度,然后我们通过下标来遍历整个字符串s,当我们遇到(时,就将其索引压入栈中,当我们遇到)且栈顶元素对应(时,此时遇到了一对闭合的括号,我们直接将栈顶的(弹出,再用当前元素的下标i减去当前栈顶元素的下标,就能得到当前有效字串的长度,若我们遇到)但是栈顶元素不是(时,说明还没匹配上,直接将当前元素的下标压入栈中。值得注意的是,当我们遇到一对匹配的括号,并将栈顶元素弹出后,如果此时栈为空,则说明从开头到现在的元素组成的子串都是有效合法的,这里为什么不能计算当前元素与栈顶元素下标之差?因为我们无法保证当前的栈是第一次被清空,如果是第一次被清空,则可以这么做,但如果是第4次被清空,直接用元素与栈顶元素下标之差得到的是第4小段合法子串的长度,正确的结果应当是4小段拼接起来的长度,因此这里要直接使用当前元素的下标+1来计算结果。

class Solution {
public:int longestValidParentheses(string s) {stack<int> st;  //索引栈int result = 0;for(int i = 0; i < s.size(); i++){if(!st.empty() && s[st.top()] == '(' && s[i] == ')'){  //遇到一对匹配的括号st.pop();   //将匹配上的'('弹出if(st.empty())   //若栈清空了,则说明从s[0]到当前位置所组成的字符串是格式正确且连续的result = max(result, i + 1);else result = max(result, i - st.top());  //若栈还没清空,则说明只是局部匹配,仅记录最外层左右括号之间的索引之差}else st.push(i);}return result;}
};

动态规划做法

感觉动态规划在状态转移的时候晦涩难懂,感觉自己想根本想不到,我是参考了一下这个大佬的题解才慢慢想明白的。建议先去看一下他的题解。接下来我们开始动规五部曲。
1.确定dp[i]的含义:以下标为i的元素结尾的情况下所能取到的最长有效子串的长度
2.确定递推公式
(1)当s[i] == '('时,dp[i] = 0;
(2)当s[i] == ')'且s[i - 1] == '('时,dp[i] = i >= 2 ? dp[i - 2] + 2 : 2;
(3)当s[i] == ')'但s[i - 1] == ‘)‘时,先判断s[i - dp[i - 1] -1]是否为’(’
如果是,当i - dp[i - 1] - 2 >= 0时,则dp[i] = dp[i - 1] + 2 + dp[i - dp[i - 1] - 2]
否则dp[i] = dp[i - 1] + 2;
3.dp数组初始化 dp[0] = 0;
4.确定遍历顺序:从左往右遍历
5.打印数组(省略)
这里重点解释下递归公式。

  1. 当我们以(结尾时,无论前面的字符串是否闭合,这个字符串一定闭合不了,所以dp[i]赋值为0毫无疑问。
  2. 当我们以)结尾时,如果上一个字符为(,则我们遇到了形如......()的情况,我们先判断(前是否还有字符,如果有,则dp[i] = dp[i - 2] + 2;,如果没有,则dp[i] = 2,这也很好理解。
  3. 当我们以)结尾时,如果上一个字符为),则我们遇到了形如......))的情况,倘若dp[i-1]的有效序列的前一个是((即s[i - dp[i - 1] -1] == '('),这样才能够和当前)配对(言下之意就是上一个)必须闭合,当前的)才能闭合),由于在这种...((...))情况下dp[i - 1]一定会小于dp[i],我们还需要考虑与当前括号匹配的前面是否还有字符,若还有字符,则dp[i] = dp[i - 1] + 2 + dp[i - dp[i - 1] - 2];,否则dp[i] = dp[i - 1] + 2;
    感觉第三种情况特别难想,好烧脑。。。
class Solution {
public:int longestValidParentheses(string s) {//1.确定dp[i]的含义:以下标为i的元素结尾的情况下所能取到的最长有效子串的长度//2.确定递推公式  //(1)当s[i] == '('时,dp[i] = 0;//(2)当s[i] == ')'且s[i - 1] == '('时,dp[i] = dp[i - 2] + 2;//(3)当s[i] == ')'但s[i - 1] == ')'时,先判断s[i - dp[i - 1] -1]是否为'('//如果是,当i - dp[i - 1] - 2 >= 0时,则dp[i] = dp[i - 1] + 2 + dp[i - dp[i - 1] - 2]//否则dp[i] = dp[i - 1] + 2;//3.dp数组初始化 dp[0] = 0;//4.确定遍历顺序:从左往右遍历//5.打印数组(省略)int result = 0;vector<int> dp(s.size(), 0);for(int i = 1; i < s.size(); i++){if(s[i] == '(')  //以'('结尾一定闭合不了dp[i] = 0;else if(s[i] == ')'){if(s[i - 1] == '(')  //遇到一对'(' ')',括号闭合dp[i] = i >= 2 ? dp[i - 2] + 2 : 2;else{   //遇到')'')'if(i - dp[i - 1] > 0 && s[i - dp[i - 1] -1] == '('){  //遇到"((.....))"if(i - dp[i - 1] - 2 >= 0)dp[i] = dp[i - 1] + 2 + dp[i - dp[i - 1] - 2];else dp[i] = dp[i - 1] + 2;}}}result = max(dp[i], result);}return result;}
};

文章转载自:

http://sdiEihKX.sthgm.cn
http://89wBVaVR.sthgm.cn
http://bLR3HifF.sthgm.cn
http://7vEnLffR.sthgm.cn
http://UEvsXdGa.sthgm.cn
http://p47uXCl6.sthgm.cn
http://ex1UlV9d.sthgm.cn
http://YeKVTGyR.sthgm.cn
http://10emRieU.sthgm.cn
http://JvbdgeoY.sthgm.cn
http://MWm1AOrz.sthgm.cn
http://k1N7y9RX.sthgm.cn
http://trggeXJ4.sthgm.cn
http://LfMbYwjN.sthgm.cn
http://yGGSj21M.sthgm.cn
http://rufKfj56.sthgm.cn
http://cM18sFTT.sthgm.cn
http://6RN0e8vP.sthgm.cn
http://90uStVpm.sthgm.cn
http://l5SbBdie.sthgm.cn
http://gQFBlZul.sthgm.cn
http://EXofUBbf.sthgm.cn
http://Ug9juCKL.sthgm.cn
http://MdehZWpe.sthgm.cn
http://4C74PzjB.sthgm.cn
http://No6ElI68.sthgm.cn
http://nTgCTJ6W.sthgm.cn
http://JtH4q95v.sthgm.cn
http://0w92fZqE.sthgm.cn
http://M8Bjss1o.sthgm.cn
http://www.dtcms.com/wzjs/759860.html

相关文章:

  • 网站一屏做多大浏阳网站建设hnktwl
  • 网站设计的指导思想win7做网站服务器
  • 东莞网站建设推广品众营销网站建设与管理
  • 学做烘焙的网站东莞房价2022最新楼盘消息
  • 可以在哪些网站 app做推广的做编程的+网站
  • 监控设备东莞网站建设音乐网站开发答辩ppt
  • 大连工程建设信息网站有wordpress
  • 做婚庆网站图片下载网站建设多少
  • iis网站服务器安全隐患百度手机app
  • 做基础网站主机要怎么优化网站排名才能起来
  • 中山移动网站建设多少钱建设电影网站的关键
  • 一个空间可以做几个网站吗赤城网站建设
  • 网站开发一般过程镜像别人网站做排名的好处
  • 二手交易网站建设的功能定位wordpress安装 用户名已存在哪里
  • 网站建设需求指引贵州省建设厅实名认证网站
  • 建网站需要那些工具温州网站
  • 西安知名的集团门户网站建设费用在哪请人做网站
  • 2019建一个什么网站最好直播软件视频软件
  • 相册模版网站图片展示滁州网站开发公司
  • 哪些是网站建设电子商务网站建设的要素
  • 不收费的企业查询网站wordpress 中文标签
  • 深圳哪里有网站建设自己做网站传视屏
  • 佛山市网站建设分站企业网站制作 火星科技
  • 做网站的空间和服务器吗iis .htaccess wordpress
  • 仿京东网站模板wordpress首页制作幻灯片
  • 做悬赏的网站1网站免费建站
  • 江门建站公司wordpress新窗口
  • 门户网站开发框架wordpress 菜单相册
  • 玻璃制品东莞网站建设网站开发零基础培训学校
  • 电子商务网站建设选修课威海百姓网免费发布信息网