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

做机械设备内销网站有哪些个人网站

做机械设备内销网站有哪些,个人网站,it运维工程师月薪,超大型网站建设题目 给定 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.mmbaike.com/news/88261.html

相关文章:

  • 网站移动适配视频专用客户端app
  • 政府网站的必要性百度搜索资源平台
  • 佛山自己网站建设网络营销软文
  • 泰州企业网站模板建站江苏网站开发
  • 家用电脑做网站教程百度官方首页
  • wordpress新闻网站数据平台
  • wordpress进行不重庆seo排名
  • 成都网站设计龙兵科技合肥网站seo费用
  • 做网站讯息网站建设公司网站
  • 企业文化包括哪六个裤子seo关键词
  • 湛江网站建设公司5g网络优化工程师
  • 可以建网站的公司短视频怎么赚钱
  • 西安网站建设 早晨域名注册时间查询
  • 西安公司网站建设哪家专业外链发布工具下载
  • python配合wordpress移动端seo关键词优化
  • 百度h5可以做网站吗西安seo哪家好
  • 网上设计接单平台seo分析工具
  • 电子商务毕设做网站海外营销推广服务
  • 山东淄博网站建设的公司谷歌浏览器 安卓下载2023版官网
  • 网站开发 视频存储成功的网络营销案例有哪些
  • 网站优化外包找客户的软件有哪些
  • 重庆江北营销型网站建设公司推荐中国seo第一人
  • 西安做的好的网站公司html网页制作app
  • 建设网站用的软件网络营销策划书2000字
  • 做网站最好用的软件怎么在百度上做网站
  • 手机网站用模版优化网站搜索排名
  • centos网站开发seo专业培训学费多少钱
  • 收录快的门户网站怎么制作网页教程
  • 望野于春搜索引擎优化的核心本质
  • 搜索引擎优化是指什么意思网上seo研究