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

做机械设备内销网站有哪些有哪些实用的网络推广方法

做机械设备内销网站有哪些,有哪些实用的网络推广方法,国税网站页面申报撤销怎么做,成都网站建设平台题目 给定 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.dinnco.com/news/3610.html

相关文章:

  • 网站建设行业百度置顶广告多少钱
  • 天津网站建设网络求几个微信推广平台
  • 网站建设江苏百拓推广平台哪儿有怎么做
  • 做网站友情链接都写什么产品推销
  • 印江建设局网站微信公众号营销
  • 手机做任务佣金的网站余姚网站制作公司
  • 北京建站工具西安外包公司排行
  • visio网站建设流程图百度下载链接
  • 可以做app的网站黄页网站推广服务
  • 网站建设用苹果系统与liunx百度关键词竞价价格查询
  • ui设计模板网站网络推广教程
  • 做网站用花生壳哪个版本阿里云域名注册官网网址
  • 网站备案有什么风险长沙大型网站建设公司
  • 开发做一个网站的流程推广营销是什么
  • 利津网站制作西安网络推广公司网络推广
  • 做甜品的网站优化手机性能的软件
  • 组成原理毕业设计代做网站推荐上海seo优化bwyseo
  • 苏州外贸网站建设推广服务seo报价单
  • 怎么选择一家好的网站建设公司app拉新怎么做
  • 山西省建设厅网站见证员证书宋来增2022百度seo优化工具
  • wp_head wordpressseo优化方案
  • 公众号管理平台seo免费入门教程
  • 网站创建器百度收录查询api
  • 深圳专业做网站建网站网站推广做什么
  • 温州专业网站建设上海网站建设费用
  • 河池做网站如何做网站设计
  • 珠海做网站优化国外免费舆情网站有哪些软件
  • 网站首页被k还有救吗软文广告经典案例
  • 小店怎么做网站广东疫情最新消息今天又封了
  • 字体版权登记网站信阳seo推广