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

【LeetCode - 每日1题】接雨水问题1

🌈 个人主页:(时光煮雨)
🔥 高质量专栏:vulnhub靶机渗透测试
👈 希望得到您的订阅和支持~
💡 创作高质量博文(平均质量分95+),分享更多关于网络安全、Python领域的优质内容!(希望得到您的关注~)


🌵目录🌵

  • 难度 ⭐⭐⭐⭐⭐
  • 题目回顾
  • ✅解题思路
    • 💖概述
    • 💓核心思路
  • ✅代码实现
  • ✅代码分析
  • ✅ 复杂度分析
  • ✅ 测试用例验证
    • ✅ 示例1
    • ✅ 示例2
    • ✅ 边缘用例
  • 💖总结
  • 🤝 期待与你共同进步
  • 📚 参考文档


难度 ⭐⭐⭐⭐⭐


题目回顾

给定 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

✅解题思路

💖概述

本问题要求计算柱子排列后能接的雨水量。给定一个非负整数数组表示柱子的高度,每个柱子的宽度为1,需计算下雨后柱子之间能蓄积的雨水总量。核心在于确定每个位置上方能蓄积的雨水高度,该高度由该位置左右两侧最高柱子的较小值(即水位)减去当前柱子高度得到。

💓核心思路

采用双指针法,从数组两端向中间遍历

  • 初始化​​:左指针 left指向数组起始位置,右指针 right指向数组末尾,left_max和 right_max分别记录左右两侧遍历过程中的最大高度,ans记录总雨水量。
  • ​​遍历过程​​:
    • 更新 left_max为当前左指针高度与历史 left_max的较大值。
    • 更新 right_max为当前右指针高度与历史 right_max的较大值。
    • 比较 height[left]和 height[right]:
      • 若 height[left] < height[right],说明左侧水位受限于 left_max,左指针位置可蓄积 left_max - height[left]的雨水,左指针右移。
      • 否则,右侧水位受限于 right_max,右指针位置可蓄积 right_max - height[right]的雨水,右指针左移。
  • 原理​​:移动较小高度的指针可确保当前指针位置的水位由该侧的最大高度决定(另一侧存在更高柱子),从而安全计算雨水量。

✅代码实现

from typing import Listclass Solution:"""双指针"""def trap(self, height: List
http://www.dtcms.com/a/438539.html

相关文章:

  • 太原cms建站先做网站还是先申请域名
  • 京东网站设计代码做淘宝客可以有高佣金的网站
  • wdcp创建网站网站建设如何增加二级页面
  • 阿联酋网站后缀星空无限传媒免费观看电视剧
  • 网站建设营销策划方案二次元动漫网站设计方案
  • 专做母婴食品的网站学网站建设要什么
  • Python基础入门例程90-NP90 修正错误的字母
  • 【C++】使用红黑树封装map和set
  • Java 高并发多线程 “基础”面试清单(含超通俗生活案例与深度理解)
  • 什么网站可以做兼职销售群晖可以做网站服务器吗
  • 【LaTeX】 8 LaTeX 表格制作
  • 日常踩雷系列-vscode无法输入中文
  • 巩义网站建设指标点历史文化街区和历史建筑信息平台
  • 打工人日报#20251003
  • Java学习之旅第一季-27:输入与输出
  • 地方网站域名选择嘉伟网络智能建站
  • Leetcode 3695. Maximize Alternating Sum Using Swaps
  • 模型瘦身四剑客:剪枝、量化、低秩分解、知识蒸馏详解
  • php 校园网站设计如何做网站流程图
  • 如何高效下载 YouTube 视频?实用工具推荐
  • 【洛谷】6 道题吃透堆的应用:模板堆、第 k 小、最小函数值等全攻略
  • MySQL库的操作(ubuntu)
  • 利用AI赋能抑郁症管理:创业项目与技术方案
  • 中国网站建设市场分析报告上海网站设计合理柚v米科技
  • 【IMX6ULL项目复现】sg90电机-pwm
  • 2025软件供应链安全实战:从漏洞修补到风险预测的转型指南
  • iOS26 打开开发者模式
  • 注销主体备案与网站备案沧州最火网站
  • AI智能体在研究分析中的仿真应用:AI驱动的复杂系统建模与“理论压缩”
  • 表格识别技术:突破传统OCR的局限,通过定位-解析-重建三步策略攻克无边框、合并单元格等视觉难题