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

南京网站设计公司哪家好龙岗网络科技有限公司

南京网站设计公司哪家好,龙岗网络科技有限公司,北外网院网站建设作业,成都网站设计培训班题目: 42. 接雨水 - 力扣(LeetCode)42. 接雨水 - 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例 1:[https://assets.leetcode-cn.com/aliyun-lc-upl…

题目:

42. 接雨水 - 力扣(LeetCode)42. 接雨水 - 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例 1:[https://assets.leetcode-cn.com/aliyun-lc-upload/uploads/2018/10/22/rainwatertrap.png]输入: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] <= 105https://leetcode.cn/problems/trapping-rain-water/description/?envType=study-plan-v2&envId=top-100-liked总结:
利用一个单调栈,一旦触发弹栈就能放雨水。但是要注意边界问题。
宽度如和计算。雨水的高度如和计算。

代码示例:

/*** <h3>接雨水 - 单调栈</h3>*/
public class TrappingRainWaterLeetcode42 {public static void main(String[] args) {System.out.println(trap(new int[]{0, 1, 0, 2, 1, 0, 1, 3, 2, 1, 2, 1})); // 6//System.out.println(trap2(new int[]{4, 2,  9, 3, 2, 5})); // 9}static int trap(int[] heights){LinkedList<Data> stack = new LinkedList<>();int sums = 0;for (int i = 0; i < heights.length; i++) {Data rights = new Data(heights[i], i);//右边界//要保证栈不为空。为了单调性,栈顶的高度比 右边界的小。才入栈while(!stack.isEmpty() && stack.peek().height < rights.height){Data pop = stack.pop();//弹出的Data left = stack.peek();//现在的栈顶if(left != null){//不是最左边界才能放//只要触发弹栈。就标明有位置放雨水//宽度计算,right 的索引减去 left 的索引-1。比如:3,1.3-1=2-1=1宽度是 1int width = rights.i - left.i - 1;
//高度计算int height = Math.min(left.height, rights.height) - pop.height;sums += width * height;}}stack.push(rights);}return sums;}static class Data{int height;int i;  // 索引public Data(int height, int i) {this.height = height;this.i = i;}@Overridepublic String toString() {return String.valueOf(height);}}
}

视频讲解:
进阶数据结构和算法-336-接雨水-Leetcode42_哔哩哔哩_bilibili进阶数据结构和算法-336-接雨水-Leetcode42是大厂必备数据结构与算法Java视频教程(下篇),java高级程序员必学的数据结构与算法的第182集视频,该合集共计200集,视频收藏或关注UP主,及时了解更多相关视频内容。https://www.bilibili.com/video/BV1rv4y1H7o6?spm_id_from=333.788.videopod.episodes&vd_source=359511ad49b33d059c0e1fac0e8145e4&p=182

http://www.dtcms.com/a/595235.html

相关文章:

  • 如何建立网站和网页店面设计用什么软件
  • 中国职业培训在线官方网站wordpress虚拟主机无法发邮件
  • OFDM理解
  • 怎么看一个网站是由哪个公司做的WordPress 虎嗅主题免费
  • 上海公共招聘网站做网站视频点播难不难
  • 网站静态路径家装公司利润一般多少
  • 企业网站变成app的方法打开网站说建设中是什么问题
  • 网站建设设计要点西宁网站建设推广
  • 企业服务平台网站建设网站建设课的感想
  • 网站建设晋丰网站没有做404页面
  • 企业门户定制网站建设公司权威的广州h5网站
  • 青海省建设网站企业中文域名注册费用标准
  • 做相同网站违法吗软件开发的学校有哪些
  • 常用的网站开发工具建网站电话
  • 制作响应式网站营销型网站制作建设
  • 做国外网站的公证要多少钱北京金方网站设计
  • 北京响应式的网站设计怎么查网站的关键词排名
  • 网站建设公司运营全屏的网站
  • 怎么开发手机网站长春关键词排名优化
  • 如何做好网站需求分析用dw建设网站
  • wordpress手机不能显示字体大小十堰网站seo技巧
  • 广西柳州网站建设价格泰国购物网站大全
  • AI提示词学习基础(一)
  • 可做实名认证的网站湖南张家界建设厅网站
  • 《中医基础理论》- 2.哲学基础之五行学说
  • 毕设做网站怎么样wordpress微信付款后查看
  • 建站宝盒下载网站开发工具概述与比较
  • 苏州网站网络推广首页调用网站栏目id
  • 九洲建设集团网站做包子网站
  • 临沂市平邑县建设局网站东海县网站建设