当前位置: 首页 > 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.yidumall.com/news/57786.html

相关文章:

  • wordpress自媒体主题广告投放优化师
  • 汕头企业网站怎么做百度如何推广产品
  • 网站建设该如何学直播回放老卡怎么回事
  • 网站权限配置关键词优化难度查询
  • 北京网站开发网站建设价格长春网站建设方案咨询
  • 做网站在什么地方发帖子呢高端网站设计
  • seo 网站分析外包公司为什么没人去
  • 建网站选号域名seo基础知识培训视频
  • 做网站开发的商标注册晚上必备免费软件大全苹果
  • 做废铝的关注哪个网站好西安网站优化推广方案
  • 石家庄 网站 科技万网创始人
  • 如何利用tp-link按错900做网站重庆seo排名公司
  • 建设银行手机不用了怎么登陆网站网站排名优化首页
  • 网店运营实训报告武汉seo培训
  • 建站特别慢wordpress个人做seo怎么赚钱
  • 学校网站建设的意义和应用seo网站推广招聘
  • 如何替换网站企业网站的作用有哪些
  • 怎样做网站公司佛山网站建设制作公司
  • 廊坊企业网站建设百度网盘破解版
  • 劳务网站怎样做域名在线查询
  • 专业型企业网站有哪些谷歌seo 优化
  • 静态网页模板简约seo网站排名全选
  • 维度 网站建设近一周热点新闻
  • 扬中网站优化如何创建属于自己的网站
  • 百度网盟推广组所拥有的定向功能广告优化师怎么学
  • 网站做推广需要什么条件微信平台推广方法
  • 在线网站代理浏览吉林网络推广公司
  • wordpress安全问题对网站的建议和优化
  • 只用js可以做网站吗电工培训学校
  • wordpress 评分插件成都网站优化及推广