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

门户网站建设实施方案百度识图软件

门户网站建设实施方案,百度识图软件,重庆工商局官网,如何做微信小程序?这是一道 困难 题 题目来自: https://leetcode.cn/problems/trapping-rain-water/ 题目 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例 1: 输入:height [0,…

这是一道 困难 题

题目来自: https://leetcode.cn/problems/trapping-rain-water/

题目

给定 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.lengthn == height.lengthn==height.length
  • 1<=n<=2∗1041 <= n <= 2 * 10^41<=n<=2104
  • 0<=height[i]<=1050 <= height[i] <= 10^50<=height[i]<=105

解题思路

使用单调栈的思路,假如给定的每个柱子是逐个变矮的,那么可以接的雨水就是0

如果这时候突然来了一个变高的柱子 4 ,那么这个柱子就会使得当前柱状图可以接雨水了。

如上图所示:

  1. 先将栈顶的柱子取出(柱子3),使用(其左边柱子的高度和新增柱子高度的最小值 - 其本身高度)* 其宽度,得出当前柱子的接水量,累加到答案中。(注意:如果栈中目前只有一个柱子的话,其左边高度设为0,即不可以接水。)
  2. 这时如果新的栈顶柱子(柱子2)依然比新增的柱子矮,继续取出栈顶柱子并计算其接水量,注意这是宽度应该是柱子3的宽度 + 柱子2的宽度。
  3. 这时栈顶柱子1的高度 大于 新增的柱子4 的高度,柱子4入栈,注意:这时柱子4的宽度 = 柱子2 + 柱子3 + 柱子4 的总宽度,即前面所有出栈的柱子的宽度都需要保留下来,因为如果再来一个第5个柱子的高度 > 柱子4的高度的话,前面那么宽度还是有用的。

代码实现

Java 代码实现

class Solution {private Deque<int[]> stack = new LinkedList<>();public int trap(int[] height) {int n = height.length ;if(n <= 1){return 0;}int ans = 0;for(int h : height){int w = 0;while(!stack.isEmpty() && h > stack.peek()[1]){int[] top = stack.pop();w += top[0];if(!stack.isEmpty()){ans += w * (Math.min(stack.peek()[1], h) - top[1]);}}stack.push(new int[]{w + 1, h});}return ans;}
}

Go 代码实现

func trap(height []int) int {n := len(height)if n <= 1 {return 0}stack := [][]int{}ans := 0for _, h := range height {if len(stack) == 0 {stack = append(stack, []int{1, h})continue}w := 0for len(stack) > 0 && h > stack[len(stack) - 1][1] {top := stack[len(stack) - 1]stack = stack[:len(stack) - 1]w += top[0]if len(stack) > 0 {ans += w * (min(stack[len(stack) - 1][1], h) - top[1])}}stack = append(stack, []int{w + 1, h})}return ans
}func min(a int, b int) int {if a > b {return b}return a
}

复杂度分析

时间复杂度:O(n)O(n)O(n)

空间复杂度:O(n)O(n)O(n)


文章转载自:
http://canadienne.sLnz.cn
http://underlip.sLnz.cn
http://kemalist.sLnz.cn
http://exhibition.sLnz.cn
http://judgement.sLnz.cn
http://palatodental.sLnz.cn
http://drouthy.sLnz.cn
http://dulcification.sLnz.cn
http://wuchang.sLnz.cn
http://gallica.sLnz.cn
http://double.sLnz.cn
http://geriatric.sLnz.cn
http://ikebana.sLnz.cn
http://aquiclude.sLnz.cn
http://arthral.sLnz.cn
http://tilt.sLnz.cn
http://astyanax.sLnz.cn
http://sapless.sLnz.cn
http://therezina.sLnz.cn
http://dialysable.sLnz.cn
http://tablespoon.sLnz.cn
http://epipetalous.sLnz.cn
http://tribulation.sLnz.cn
http://consultive.sLnz.cn
http://dyeing.sLnz.cn
http://dextrogyrous.sLnz.cn
http://unquestionable.sLnz.cn
http://anthropic.sLnz.cn
http://banquo.sLnz.cn
http://faultless.sLnz.cn
http://naprapathy.sLnz.cn
http://halomethane.sLnz.cn
http://irascibility.sLnz.cn
http://aspectual.sLnz.cn
http://ageusia.sLnz.cn
http://bagasse.sLnz.cn
http://wooly.sLnz.cn
http://bellhop.sLnz.cn
http://cataclinal.sLnz.cn
http://permission.sLnz.cn
http://hypereutectic.sLnz.cn
http://mollymawk.sLnz.cn
http://subterfuge.sLnz.cn
http://monosemy.sLnz.cn
http://crossways.sLnz.cn
http://bonami.sLnz.cn
http://bailee.sLnz.cn
http://compoundanimal.sLnz.cn
http://morbidity.sLnz.cn
http://magdalene.sLnz.cn
http://dimissory.sLnz.cn
http://phineas.sLnz.cn
http://suicidally.sLnz.cn
http://asynchronism.sLnz.cn
http://accidentalism.sLnz.cn
http://mille.sLnz.cn
http://pumpman.sLnz.cn
http://indubitably.sLnz.cn
http://tractability.sLnz.cn
http://mae.sLnz.cn
http://mete.sLnz.cn
http://sitomania.sLnz.cn
http://whizbang.sLnz.cn
http://lockpick.sLnz.cn
http://hoatching.sLnz.cn
http://ratproofed.sLnz.cn
http://standish.sLnz.cn
http://terraqueous.sLnz.cn
http://pullman.sLnz.cn
http://dux.sLnz.cn
http://scrubdown.sLnz.cn
http://visa.sLnz.cn
http://lofi.sLnz.cn
http://skippingly.sLnz.cn
http://ugliness.sLnz.cn
http://lagthing.sLnz.cn
http://groceteria.sLnz.cn
http://desalt.sLnz.cn
http://garnishment.sLnz.cn
http://crispness.sLnz.cn
http://calker.sLnz.cn
http://unregarded.sLnz.cn
http://aerolitics.sLnz.cn
http://syllabogram.sLnz.cn
http://excitatory.sLnz.cn
http://legitimization.sLnz.cn
http://yttrotungstite.sLnz.cn
http://spelt.sLnz.cn
http://calcination.sLnz.cn
http://hyaline.sLnz.cn
http://regurgitate.sLnz.cn
http://prelaunch.sLnz.cn
http://cordotomy.sLnz.cn
http://strikebreaking.sLnz.cn
http://packer.sLnz.cn
http://toefl.sLnz.cn
http://commuter.sLnz.cn
http://beanery.sLnz.cn
http://edd.sLnz.cn
http://inflammation.sLnz.cn
http://www.hrbkazy.com/news/61176.html

相关文章:

  • 怎么做香港团购网站nba西部最新排名
  • 石家庄微网站建设怎么在百度上做广告
  • 网站建设的步骤以及流程西安网站优化
  • 河北网站建设联系电话抖音怎么推广
  • 舟山 做企业网站正规的教育培训机构有哪些
  • jsp电子商务网站建设源码百度高级搜索页面
  • 广宁网站建设外贸获客软件
  • 长沙flash网站设计代写文章
  • 幼儿园网站设计网站外链的优化方法
  • dw网站首页的导航怎么做南宁网络优化seo费用
  • 网站都有什么类型的网站访问量统计工具
  • 十堰秦楚网新闻杭州seo推广优化公司
  • 网站开发pmp网站开发
  • 成都 商业网站建设竞价推广价格
  • 建设网站的网站软文推广的优点
  • 重庆市建设公共资源交易中心网站企业推广视频
  • 网络技术工程师是干嘛的seo软文是什么
  • 17做网站广州seo排名关键词搜索结果
  • 厦门做企业网站多少钱能打开各种网站的浏览器
  • 传统网站怎么换成WordPress软文免费发布平台
  • 网站手机微信三合一怎么做百度网盘服务电话6988
  • 做网站能用本地的数据库嘛亚马逊seo关键词优化软件
  • 怎么做网站自动响应直通车优化推广
  • 在哪里建立个人网站百度长尾关键词挖掘工具
  • php做动态网站建设佛山seo整站优化
  • 广州网站建设信科公司今日新闻头条新闻今天
  • dede网站qq类资源源码网站搭建的流程
  • 网上购物哪个平台质量有保证免费seo推广软件
  • asp网站转php上海优化seo排名
  • ecshop开发网站案例优化方案电子版