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

wordpress架站wordpress 栏目 主题

wordpress架站,wordpress 栏目 主题,朝阳住房和城乡建设官方网站,山东住建局和城乡建设厅官网题目描述 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例 1: 输入:height [0,1,0,2,1,0,1,3,2,1,2,1] 输出:6 解释:上面是由数组 [0,1,0,2,1,0,1,3…

题目描述

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

示例 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 个单位的雨水(蓝色部分表示雨水)。
在这里插入图片描述

示例 2:

输入:height = [4,2,0,3,2,5]
输出:9

提示:

n == height.length
1 <= n <= 2 * 104
0 <= height[i] <= 105

解法1 按列计算

/*** @param {number[]} height* @return {number}*/
var trap = function(height) {let area=0;let leftMax=0;let rightMax=0;for(let i=0;i<height.length;i++){rightMax=findRightMax(leftMax,i,height);if(height[i]<leftMax&&rightMax>height[i]){area+=Math.min(leftMax,rightMax)-height[i];}else if(!findRightMax(leftMax,i,height)){leftMax=height[i];}if(height[i]>leftMax) leftMax=height[i];}return area;
};
function findRightMax(num,j,height){let n=0;for(let i=j;i<height.length;i++){if(height[i]>=num){return height[i];}if(height[i]>n)n=height[i]}return n;
}

执行结果:
在这里插入图片描述
解法2:双指针解法【注意理解】

/*** @param {number[]} height* @return {number}*/
var trap = function(height) {let area=0;if(height.length<=1) return 0;let left=0;let leftMax=0;let right=height.length-1;let rightMax=0;while(left<right){leftMax=Math.max(leftMax,height[left]);rightMax=Math.max(rightMax,height[right]);if(height[left]<height[right]){area+=leftMax-height[left];left++;}else{area+=rightMax-height[right];right--;}}return area;
};

执行情况:
在这里插入图片描述
解法3:单调栈【参照力扣官方】

/*** @param {number[]} height* @return {number}*/
var trap = function(height) {let area=0;if(height.length<=1) return 0;const stack=[]//存值值单调递减的下标for(let i=0;i<height.length;i++){while(stack.length&&height[i]>height[stack[stack.length-1]]){let top=stack.pop();if(stack.length==0){break;}const left = stack[stack.length - 1];const currWidth = i - left - 1;const currHeight = Math.min(height[left], height[i]) - height[top];area += currWidth * currHeight;}stack.push(i);}return area;
};

在这里插入图片描述

http://www.yayakq.cn/news/748678/

相关文章:

  • 商务推广网站新闻门户网站免费建设
  • 宏润建设集团网站资源网址推荐安全的
  • 公司网站做推广WordPress添加防盗链接
  • 网站流量是什么意思免费云主机试用
  • 网站开发 技术维护山东华泰建设集团有限公司官方网站
  • 网页制作的过程wordpress的seo收件箱
  • 2015做啥网站能致富兰州做网络优化
  • 建站行业消失了吗做网站在哪里找客户
  • 哪个网站可以找设计师做设计菜鸟零基础如何自学编程
  • 网站数据怎么做论文注释wordpress 编辑器修改
  • 婚庆网站论文禁止WordPress转义
  • 优秀材料写作网站网站建设胡菘
  • 网站首页框架图网站建设一百万
  • 网站建设业务网络广告营销的实现方式
  • 网站的开发流程分为公司网站后台怎么上传视频
  • 做网站的科技公司苏州网架公司
  • 域名后缀cn做网站阿里云和wordpress
  • 门户网站静态页面利用别人域名做自己的网站
  • 重庆做网站最好的58加盟创业网
  • 创业投资公司网站建设常州市网站建设公司
  • python 网站建设深圳网站建设高端设计
  • 国际贸易网站建设 中企动力湖北苏州哪里做网站
  • 机关单位网站安全建设做网站找哪家好?聚禄鼎科技是一家给企业做网站的公司
  • 网站销售流程大同网络公司
  • 培训网站建设课程厦门seo关键词优化
  • 效果图网站模板网站cms系统
  • 比较大的建站公司下沙网站建设
  • 网站域名怎么弄手机应用商店app
  • 免费空间网站源码微信小程序开发平台入口
  • 青岛做网站排名哪个公司做网站建设好