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

建筑工程东莞网站建设怎么免费给自己建网站

建筑工程东莞网站建设,怎么免费给自己建网站,个人网站做多久有效果,我要学做网站单调栈 概念:维护栈中元素的单调性,单调增或者单调减。 什么时候用? 要寻找任一个元素的右边或者左边第一个比自己大或者小的元素的位置。单调栈的本质是空间换时间,在遍历的过程中需要用一个栈来记录右边第一个比当前元素高的元…

单调栈

  • 概念:维护栈中元素的单调性,单调增或者单调减。

  • 什么时候用?

    • 要寻找任一个元素的右边或者左边第一个比自己大或者小的元素的位置。单调栈的本质是空间换时间,在遍历的过程中需要用一个栈来记录右边第一个比当前元素高的元素,优点是整个数组只需要遍历一次。因为我们遍历数组的时候,我们不知道之前都遍历了哪些元素,以至于遍历一个元素找不到是不是之前遍历过一个更小的,所以我们需要用一个容器(这里用单调栈)来记录我们遍历过的元素。
  • 如何用?

    • 当要求数组的每个元素的下一个最大元素时,维护单调递减栈,每次遇到栈顶元素<新进栈元素时,栈顶元素出栈,如果出栈了新的栈顶还是小于新进栈元素,则一直循环出栈进栈,新元素进栈,此时出栈的元素的右边第一个最大元素为新进栈元素。如果新进栈元素<栈顶元素时,则直接进栈。例如有数组 [3,5,1,4,8,3]的对应元素的下一个最大元素为[5,8,4,8,-1,-1],-1表示没有。维护单调递减栈 s=[] ,首先3进栈,s=[3],然后新进栈元素为5,比栈顶元素大,5进栈,3出栈,此时s=[5],即3右边第一个比它大的元素为5,然后是1比栈顶5小直接进栈,s=[5,1];然后遇见4,此时1出栈,4进栈,即第一个比1大的元素是4 ,s=[5,4]。

    • 总结:找第一个/下一个最大元素,维护递减栈;找第一个/下一个最小元素,维护递增栈。

LeetCode练习

import java.util.ArrayDeque;
public class Solution {public String removeDuplicateLetters(String s) {//使用单调栈保持字典序ArrayDeque<Character> stack = new ArrayDeque<Character>();int length = s.length();stack.addLast(s.charAt(0));StringBuffer res = new StringBuffer();for(int i=1;i<length;i++){int flag = 0;Character c = stack.getLast();String sub = s.substring(i,length);while (c>s.charAt(i) && !stack.contains(s.charAt(i)) && sub.contains(""+c) && !stack.isEmpty()){//栈顶元素大于待检测字符且栈中没有该元素,且栈顶元素后续还有 且栈非空 则出栈stack.pollLast();if(!stack.isEmpty())c = stack.getLast();flag = 1;}if(flag==1){// 出栈完成后,待检测字符入栈stack.addLast(s.charAt(i));}if(!stack.contains(s.charAt(i))){  //c<s.charAt(i) &&// 如果待检测字符小于c且栈中不包含它则直接进栈stack.addLast(s.charAt(i));}}while(!stack.isEmpty()){Character c = stack.pollLast();res.append(c);}return res.reverse().toString();}
}
http://www.mmbaike.com/news/90934.html

相关文章:

  • 平面设计包括哪些方面珠海网站seo
  • 企业网站开发用什么语言写什么是百度竞价
  • 做网站用那个浏览器网站推广优化
  • 网站建设构思不花钱网站推广
  • 成都微信网站建设报价单衡阳百度seo
  • wordpress主题绕过激活码淮安网站seo
  • 网站建设公司工作流程赵阳竞价培训
  • python开发动态网站开发站长友情链接平台
  • 高端外贸网站制作网站换了域名怎么查
  • 做资讯的网站企业内训机构
  • 那种广告式网站怎么做朋友圈的广告推广怎么弄
  • 网站建设费 会计分录宣传推广网络推广
  • 枣阳网站建设怎么创建网站
  • 成都最近疫情关键词seo如何优化
  • 电商型企业网站建设太原百度快速优化
  • 做牛津纺衬衫的网站阿里巴巴怎么优化关键词排名
  • 沈阳网页设计专业上海百度整站优化服务
  • 网站建设先买主机还是网络推广教程
  • 注册个网站域名多少钱一年百度快照怎么看
  • 桂林做网站多少钱安卓嗅探app视频真实地址
  • 网站代码 如何做层级关系雅虎搜索
  • 日本哪个网站做外贸比较好网站seo 工具
  • 做景观设计比赛的网站网站免费推广的方法
  • 台州网站建设百度外推代发排名
  • 1元云购网站怎样建设2022今天刚刚发生地震了
  • 手机触屏网站seo排名优化软件
  • 什么做网站统计好seoyoon
  • 青岛市规划建设局网站网页模板免费下载网站
  • 我做钓鱼网站自首了seo网站推广是什么意思
  • 磁力链接 网站怎么做的2021百度seo