leetcode 接雨水2_leetcode会议室

leetcode 接雨水2_leetcode会议室题目链接给定 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.length0 <= n &lt

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

题目链接

给定 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
0 <= n <= 3 * 104
0 <= height[i] <= 105

题解
单调栈

class Solution { 
   
public:
    int trap(vector<int>& height) { 
   
        stack<int>stk;
        int res = 0;
        for(int i = 0;i < height.size();i ++){ 
   
            int pre = 0;
            while(!stk.empty() && height[stk.top()] <= height[i]){ 
   
                int t = stk.top();
                stk.pop();
                res += (height[t] - pre) * (i - t - 1);
                pre = height[t];
            }
            if(!stk.empty())res += (height[i] - pre) * (i - stk.top() - 1);
            stk.push(i);
        }
        return res;
    }
};
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/168896.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Android Studio的Logcat/Run/Terminal/Build等窗口没有了怎么调出

    Android Studio的Logcat/Run/Terminal/Build等窗口没有了怎么调出

    2021年10月2日
  • 锁定屏幕相关知识「建议收藏」

    锁定屏幕相关知识「建议收藏」  (1)LockWorkStation()锁定当前用户返回到登录界面 (2)HKEY_CURRENT_USER/Software/Microsoft/Windows/CurentVersion/Polioies/Explores下的”NoSaveSetting”值为1则禁止修改桌面(需要重启) (3)HKEY_CURRENT_USER/Software//microsof

    2022年7月21日
  • idea激活码永久有效[最新免费获取]

    (idea激活码永久有效)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月26日
  • 4K型护套连接器_电缆网套怎么使用方法

    4K型护套连接器_电缆网套怎么使用方法LCYVB-4型钢丝编织橡胶护套连接器4C型护套连接器4K型护套连接器 范围 本标准规定了LCYVB-4型钢丝编织橡胶护套连接器(简称连接器)的产品分类、基本参数、技术要求与试验方法、检验规则、标志、包装、运输和贮存。本标准适用于LCYVB-4型钢丝编织橡胶护套连接器系列产品。 规范性引用文件 下列件中的条款通过本标准的引用而成为本标准的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本标准,然而,鼓励根据本标准达成…..

    2022年10月2日
  • 怪盗基德三角滑翔翼设计图_第一代怪盗基德

    怪盗基德三角滑翔翼设计图_第一代怪盗基德最长上神子序列(nlogn)原题链接怪盗基德是一个充满传奇色彩的怪盗,专门以珠宝为目标的超级盗窃犯。而他最为突出的地方,就是他每次都能逃脱中村警部的重重围堵,而这也很大程度上是多亏了他随身携带的便于操作的滑翔翼。有一天,怪盗基德像往常一样偷走了一颗珍贵的钻石,不料却被柯南小朋友识破了伪装,而他的滑翔翼的动力装置也被柯南踢出的足球破坏了。不得已,怪盗基德只能操作受损的滑翔翼逃脱。假设城市中一共有N幢建筑排成一条线,每幢建筑的高度各不相同。初始时,怪盗基德可以在任何一幢建筑的顶端。他可以选择一个

    2022年8月8日
  • 一个游戏是如何被设计和开发出来的[通俗易懂]

    一个游戏是如何被设计和开发出来的[通俗易懂]我在知乎回答“想要自己做一款游戏,需要学习哪些知识”下面简单列举了四个能力,分别是:程序、设计、美术、音乐。但是碍于篇幅限制,我并没有详细展开来说明每一项能力具体是如何发挥作用,以及发挥作用的形式和功效。如果在学习之前,我们对即将学习的东西一无所知的话,会导致学习中产生不小的迷茫感:不知道为何而学,不知道学了有什么作用,不知道该学习到什么程度。带着这样的迷茫去学习,会导致学习效率低下,容易受挫,甚…

    2022年5月27日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号