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

厦门网站建设68网站下载免费

厦门网站建设68,网站下载免费,重庆哪里好玩,建筑劳务公司名字起名大全这是一道 困难 题 题目来自#xff1a; https://leetcode.cn/problems/trapping-rain-water/ 题目 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图#xff0c;计算按此排列的柱子#xff0c;下雨之后能接多少雨水。 示例 1#xff1a; 输入#xff1a;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 提示 nheight.lengthn height.lengthnheight.length1n2∗1041 n 2 * 10^41n2∗1040height[i]1050 height[i] 10^50height[i]105 解题思路 使用单调栈的思路假如给定的每个柱子是逐个变矮的那么可以接的雨水就是0。 如果这时候突然来了一个变高的柱子 4 那么这个柱子就会使得当前柱状图可以接雨水了。 如上图所示 先将栈顶的柱子取出柱子3使用其左边柱子的高度和新增柱子高度的最小值 - 其本身高度* 其宽度得出当前柱子的接水量累加到答案中。注意如果栈中目前只有一个柱子的话其左边高度设为0即不可以接水。这时如果新的栈顶柱子柱子2依然比新增的柱子矮继续取出栈顶柱子并计算其接水量注意这是宽度应该是柱子3的宽度 柱子2的宽度。这时栈顶柱子1的高度 大于 新增的柱子4 的高度柱子4入栈注意这时柱子4的宽度 柱子2 柱子3 柱子4 的总宽度即前面所有出栈的柱子的宽度都需要保留下来因为如果再来一个第5个柱子的高度 柱子4的高度的话前面那么宽度还是有用的。 代码实现 Java 代码实现 class Solution {private Dequeint[] 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://www.w-s-a.com/news/45858/

相关文章:

  • 网站建设制作宝塔面板活动宣传推广的形式有哪些
  • 掉关键词网站敏捷软件开发流程
  • 微信小程序格泰网站建设新闻采编与制作专业简历
  • 电子商城建设网站海伦网站建设
  • 南充能够建设网站的公司有专门做设计的一个网站
  • 免费域名申请个人网站阿里巴巴运营的工作内容
  • 怎么建自己的手机网站保定电子商务网站建设
  • 系部网站建设中期检查表创建网站的公司
  • 西宁网站建设优化重庆企业的网站建设
  • 贝壳企业网站管理系统徽与章网站建设宗旨
  • 郑州网站模板动漫设计与制作设计课程
  • 在线制作网站的工具岳阳网站设计改版
  • 网站建设需要汇报哪些内容前端开发的工作内容
  • 无锡阿凡达网站建设美团app开发公司
  • 个性化企业网站制作公司深圳高端网站定制公
  • 专业深圳网站定制开发企业网站开发 流程
  • 网站建设推广的软文php网站平台
  • 如何做代刷网站长外贸网站个性设计
  • 合同网站开发 设计 后期维护如何搭建海外网络
  • 提供网站建设服务优化大师哪个好
  • 军队营房基础建设网站哦咪咖网站建设
  • fifa17做任务网站app下载免费安装
  • 网站开发用哪些技术seo是什么意思为什么要做seo
  • 网站会动的页面怎么做的与网站建设有关的招标文件
  • 公司网站如何做seowordpress付费资源
  • 福田做商城网站建设哪家公司便宜点WordPress安装子目录
  • 南京建设交易中心网站wordpress 拼车
  • 上海今天发生的重大新闻5条河南网站seo费用
  • 广东深圳最新情况临安网站seo
  • 华为快速建站女人做春梦网站