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

做机械设备内销网站有哪些樱桃bt磁力天堂

做机械设备内销网站有哪些,樱桃bt磁力天堂,有什的自学做网站,宝安做网站怎么样题目 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例 : 输入:height [0,1,0,2,1,0,1,3,2,1,2,1] 输出:6 解释:上面是由数组 [0,1,0,2,1,0,1,3,2,…

题目

给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。
请添加图片描述

示例 :

输入:height = [0,1,0,2,1,0,1,3,2,1,2,1]
输出:6
解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图。
在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。 

思路:

从题目中我们可以知道:只有凹陷的地方才可以存储雨水,那么高度一定是先减后增,所以当我们遍历到这个位置时,前面减的地方(即凹陷的地方)一定会存储雨水,这时我们将凹陷处出栈就可以计算它能存储的雨水量了。
因此我们需要设计一个单调递减栈:维护一个单调栈,单调栈存储的是下标,满足从栈底到栈顶的下表对应的数组height中的元素递减。栈顶的元素就是凹槽的最低点
此外单调栈还有一个需要注意的地方:弹出栈顶后判断栈是否为空,因为当栈为空时,说明左边不存在最大值,无法存储雨水。

Code:

class Solution {
public:int trap(vector<int>& height) {if(height.size() <= 1){return 0;}stack<int>st;int sum=0;st.push(0);for(int i=1 ; i < height.size() ; i++){while(!st.empty() && height[i] > height[st.top()]){int vis = st.top();st.pop();//其实不需要特判栈顶元素一直相等(即凹槽最低处高度相同)的情况//因为每次计算雨水的高度都是计算的//min(凹槽的左侧高度,当前非递减点的高度) 减去 凹槽的高度//因此当凹槽连续的高度相同时只有凹槽最左侧的才会计算出有效值其余都是0if(!st.empty()){int l = i - st.top() -1;int h = min(height[i] , height[st.top()]) - height[vis];sum += l*h;}}st.push(i);}return sum;}
};
http://www.yidumall.com/news/96456.html

相关文章:

  • 南京网站开发就业培训课程网站推广步骤
  • 乐清建网站seo优化实训总结
  • 苏州网站建设制作方案企业培训课程设置
  • wap网站是什么站长工具查询域名信息
  • 室内设计公司有哪些seo搜索引擎优化包邮
  • 如何开发微网站朋友圈广告
  • 服务器搭建网站用什么系统搜索引擎关键词优化技巧
  • 网站和自媒体都可以做网页
  • vps wordpress lnmp厉害的seo顾问
  • 高校网站建设需求分析中国国家培训网官网查询
  • 垂直门户网站建设百度旗下产品
  • 免费学做淘宝的网站女教师遭网课入侵视频大全
  • 做房产网站不备案可以吗企业网络推广方式
  • 网站排名优化课程口碑营销推广
  • 制作灯笼图片河南网站seo靠谱
  • dreamweaver8.0做网站利搜网站排名软件
  • 网架制造厂新站整站优化
  • 专业建站公司联系方式网站优化团队
  • 网站建设规划方书模板头条权重查询
  • 响应式布局网站个人推广app的妙招
  • 做汽车网站怎么挣钱吗营销软件app
  • 网站建设项目验收付款seo手机关键词排行推广
  • 建筑网站首页seo课培训
  • 网站后台百度商桥代码哪里安装seo资源
  • 学网页设计先学什么百度优化是什么
  • 建设一个一般网站需要多少时间中牟网络推广
  • 网站建设违约交付南京最大网站建设公司
  • 公明做企业网站营销策划推广公司
  • 大企业网站建设百度搜索量排名
  • 利于seo优化的网站郑州seo外包公司哪家好