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

做机械设备内销网站有哪些广告推广平台哪个好

做机械设备内销网站有哪些,广告推广平台哪个好,润商网站建设服务,wordpress修改主题文件夹题目 给定 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/11655.html

相关文章:

  • ds216j做网站百度云搜索引擎入口网盘搜索神器
  • 马和人做人和牛做网站南昌seo管理
  • 厦门做网站公司排名软文世界官网
  • 网站制作学什么crm客户管理系统
  • app和微网站的对比分析百度seo优
  • 哪个网站可以做会计题seo和sem的区别与联系
  • 东莞互联网营销网站建设网站seo优化排名
  • 软件定制网搜索引擎优化的流程
  • 海盐市网站建设事件营销的案例有哪些
  • wordpress google ad百度seo优化排名软件
  • 厦门网站seo优化全渠道营销
  • 韩国做暖暖网站网站开发流程的8个步骤
  • 网站怎么做响应竞价开户
  • 电子商务与网站建设seo优化排名怎么做
  • 鼓楼网站开发在线工具
  • 夺宝网站建设黑马程序员培训机构在哪
  • 南京哪家网络公司做网站优化好推广引流图片
  • 产品经理做网站seo优化标题 关键词
  • 星月教你做网站回顾文档今日疫情实时数据
  • 域名历史记录查询网站成都有实力的seo团队
  • 建立网站可行性seo优化报告
  • 江门市外事侨务局网站党建设想学互联网从哪里入手
  • 找我家是做的视频网站百度浏览器官方网站
  • 清远做网站的公司关键词优化公司哪家强
  • 站点创建成功有影响吗上海网站优化公司
  • 8848网站盈利模式媒体网络推广价格优惠
  • 合肥网站开发哪家好seo培训一对一
  • 一般vs做的网站的总体框架网页设计制作软件
  • 天津网上办事大厅官网昆明seo
  • 手机网站制作合同网站推广优化公司