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

软文营销文案seo推广视频隐迅推专业

软文营销文案,seo推广视频隐迅推专业,做网站都要多少钱,10个免费自学网题目描述 给定 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.mmbaike.com/news/76680.html

相关文章:

  • 信息网站 模板苏州seo安严博客
  • 福州做网站需要多少钱外链工具软件
  • 个人备案网站 做资讯企业软文范例
  • 网站建设mus18杭州seo泽成
  • 成人用品网站开发百度seo点击
  • 环保网站可以做哪些内容网站查询ip地址
  • 网络营销推广方案的思路及步骤解析aso关键词覆盖优化
  • 收费下载的wordpress网站147seo工具
  • 河北网站建设公司sem竞价开户
  • 微信商城网站建设视频网店营销策划方案
  • 做服装的一般去什么网站找图片福州百度开户多少钱
  • 保定网站建设找谁seo站长工具下载
  • 怎么做淘宝客优惠劵网站steam交易链接在哪里看
  • 长春网站建设费用重庆网站关键词排名
  • 网站建设系统优势百度关键词广告怎么收费
  • wordpress 输出评论麒麟seo外推软件
  • 织梦cms怎么做网站地图企业培训课程分类
  • 做网站的没有进项票怎么办360建站官网
  • https网站开发广告的六种广告形式
  • 慈溪网站建设报价排超最新积分榜
  • 天津关键词优化服务seo 关键词优化
  • 口味王网站建设的设计方案黑龙江最新疫情
  • 中国工程造价网官网影响seo排名的因素
  • 苏州云联智慧网站开发工资如何建立和设计公司网站
  • 公司网站设计好全网关键词优化公司哪家好
  • 成都学生网站制作百度快速优化推广
  • 上海精品网站建设北京网络排名优化
  • 朝阳区互联网公司排名大泽山seo快速排名
  • 订阅号做微网站百度推广关键词排名规则
  • 东莞做网站seo昆明网络推广方式有哪些