接雨水-困难

给定 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 * 10^4
0 <= height[i] <= 10^5
class Solution {public int trap(int[] height) {int ans = 0;Deque<Integer> stack = new LinkedList<Integer>();int n = height.length;for (int i = 0; i < n; ++i) {while (!stack.isEmpty() && height[i] > height[stack.peek()]) {int top = stack.pop();if (stack.isEmpty()) {break;}int left = stack.peek();int currWidth = i - left - 1;int currHeight = Math.min(height[left], height[i]) - height[top];ans += currWidth * currHeight;}stack.push(i);}return ans;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/204371.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

忘记PDF密码了,怎么办?

PDF文件有两种密码&#xff0c;一个打开密码、一个限制编辑密码&#xff0c;因为PDF文件设置了密码&#xff0c;那么打开、编辑PDF文件就会受到限制。忘记了PDF密码该如何解密&#xff1f; PDF和office一样&#xff0c;可以对文件进行加密&#xff0c;但是没有提供恢复密码的功…

在Azure虚拟机中使用XDP Native模式

在进行eBPF的开发中&#xff0c;我们可以看到支持XDP Native的网卡驱动列表&#xff1a; https://docs.cilium.io/en/stable/bpf/progtypes/#xdp 使用azure上的vm进行开发时&#xff0c;我们发现尝试使用XDP Native模式失败&#xff0c; 经过查阅文档&#xff1a; https://www…

优雅草蜻蜓I即时通讯·水银版私有化部署之安卓Android端编译-02

Android 项目配置 添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09; 使用以上Android studio版本 添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09; 下载最低sdk最低版本28 完成后就可以导入项目(项目导入不能开VPN,会导致部分三方库…

lombok原理 @Slf4j 怎么生成get set log

Lombok是一种Java库&#xff0c;通过注解的方式提供了许多有用的功能&#xff0c;包括生成Getter、Setter、日志等。Slf4j注解是Lombok中的一种&#xff0c;它用于自动生成日志记录器&#xff08;Logger&#xff09;。 下面简要介绍一下Lombok的原理&#xff0c;以及Slf4j注解…

一v一聊天

服务端 package 一对一用户;import java.awt.BorderLayout; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; import java.util.Vector;…

使用加密工具The Enigma Protector ,快速保护您的软件安全

我们多次被问到使用Enigma Protector保护软件免遭破解和逆向工程的最佳方法是什么&#xff1f;在这里我将解释保护常用应用程序的技巧是什么。 许多开发人员认为&#xff0c;如果他们只需单击“保护”按钮&#xff0c;保护程序就会自动完成所有操作&#xff0c;无需嵌入额外的…

【Java基础系列】JavaWeb入门

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

Linux学习笔记7-SPI的应用和ICM-26068

和IIC类似&#xff0c;我也会针对一个使用SPI通信的芯片ICM-26068来写它的驱动&#xff0c;从而学习SPI通信的应用。 SPI通信的基本原理在单片机中已经详细学习过了&#xff0c;我认为需要理解的是它的全双工&#xff0c;即在同一时间内既可以从主机发送数据到从机&#xff0c;…

「C++」哈希表的实现(unordered系底层)

&#x1f4bb;文章目录 &#x1f4c4;前言哈希表概念哈希函数 哈希冲突闭散列开散列 &#x1f4d3;总结 &#x1f4c4;前言 unordered系列的关联式容器之所以效率比较高,是因为其底层使用了哈希结构&#xff0c;使其在查找上的时间复杂度几乎减低到了 O ( 1 ) O(1) O(1)。 哈希…

企业ERP软件定制开发的重点|app小程序网站建设

企业ERP软件定制开发的重点|app小程序网站建设 随着企业信息化程度的不断提高&#xff0c;企业资源计划&#xff08;ERP&#xff09;软件成为了现代企业管理的重要工具。然而&#xff0c;由于不同企业的业务流程、组织结构和管理模式各异&#xff0c;现有的通用ERP软件无法完全…

qt 定时器用法

在qt开发中&#xff0c;定时器是我们经常用到的。我们接下来说一下定时器的三种用法&#xff0c;需要注意的是定时器事件是在主线程中触发的&#xff0c;因此在处理耗时操作时应特别小心&#xff0c;以避免阻塞应用程序的事件循环。 1. 三种定时器使用 1.1 QObject的定时器 …

HTTPS双向认证

HTTPS双向认证和普通的HTTPS认证在安全性和验证方式上有所区别。 安全性&#xff1a; 普通的HTTPS认证&#xff08;单向认证&#xff09;只验证服务器的身份&#xff0c;客户端的身份没有得到验证&#xff0c;因此安全性相对较低。HTTPS双向认证则不仅需要服务器进行身份验证&a…

基于若依的ruoyi-nbcio的flowable流程管理系统增加服务任务和我的抄送功能

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码&#xff1a; https://gitee.com/nbacheng/ruoyi-nbcio 演示地址&#xff1a;RuoYi-Nbcio后台管理系统 1、增加一个状态字段 wf_copy增加下面两个字段 就用未读已读来区分 2、前端 api接口增加如下&#xff…

【数据挖掘】国科大苏桂平老师数据库新技术课程作业 —— 第一次作业

1 设关系 r r r 和 s s s 如下&#xff1a; r ( A B C ) a 2 b 3 c 2 a 2 b 1 c 1 a 2 b 2 c 1 a 1 b 1 c 2 s ( B C D ) b 1 c 1 d 1 b 2 c 1 d 1 b 2 c 2 d 1 \begin{array}{c} r&(A & B & C) \\ &\;\;a_2 & b_3 & c_2\; \\ &\;\;a_2 & …

IDEA检查项目的jdk版本需要看的地方

IDEA检查项目的jdk版本需要看的地方 1、检查项目结构&#xff0c;如下图所示选择即可 选择了之后打开了如下界面&#xff1a; 下面的三张图全部都要检查选择jdk8的版本 2、进入设置&#xff0c;如下所示&#xff1a; 进入之后&#xff0c;根据下图&#xff0c;挨个选择&#xf…

「海蓝色」海关可视化监管平台,助力海关体系实现规范化程序管理

海关监管是国家对进出境货物、旅客和邮件进行检查和控制的重要机构&#xff0c;其职责是保障国家的安全和经济利益。海关监管的核心目标是防止非法进出境活动&#xff0c;包括走私、偷逃税款等行为。海关监管通过检查和核实货物的品质、数量和价值&#xff0c;确保货物符合相关…

SMART PLC编码器角度测量

编码器角度测量在倒立摆摆杆角度测量上的应用请参考下面文章链接: https://rxxw-control.blog.csdn.net/article/details/131443657https://rxxw-control.blog.csdn.net/article/details/131443657线性模式下编码器旋转圈数和单圈计数值测量可以查看下面文章: https://rxxw…

C语言实现植物大战僵尸(完整版)

实现这个游戏需要Easy_X 这个在我前面一篇C之番外篇爱心代码有程序教你怎么下载&#xff0c;大家可自行查看 然后就是需要植物大战僵尸的素材和音乐&#xff0c;需要的可以在评论区 首先是main.cpp //开发日志 //1导入素材 //2实现最开始的游戏场景 //3实现游戏顶部的工具栏…

关于pycharm代码误删,本地历史恢复

关于pycharm代码误删&#xff0c;本地历史恢复 1.工作中或多或少的出现代码误删&#xff0c;或者其他原因导致我们的辛辛苦苦写的码子没了&#xff0c;一定很着急。 2.我们点击工作目录文件夹或者是项目内鼠标右击&#xff0c;找到local history 然后选择show history,就可以…

新零售时代:直销与分销的善用与融合

随着互联网技术的不断发展&#xff0c;零售业正在经历一场前所未有的变革。传统的实体店销售模式已经无法满足消费者对于购物体验的需求&#xff0c;而电子商务的兴起也使得线上销售成为一种新的消费趋势。在这场变革中&#xff0c;直销和分销这两种销售模式也逐渐凸显出其重要…