LeetCode:单调栈

42.接雨水

cpp 复制代码
class Solution {
public:
    int trap(vector<int>& height) {
        int sum = 0;
        for(int i = 0; i < height.size(); i++){
            //第一个柱子和最后一个柱子不接雨水
            if(i == 0 || i == height.size() - 1) continue;

            int left_h = height[i]; //记录左边柱子的最高高度
            int right_h = height[i]; //记录右边柱子的最高高度

            for(int l = i - 1; l >=0; l--){
                if(height[l] > left_h) left_h = height[l];
            }
            for(int r = i + 1; r < height.size(); r++){
                if(height[r] > right_h) right_h = height[r];
            }

					// 【核心】每列的水量是左右最高的柱子高度最小值,减本列柱高度
            int h = min(left_h, right_h) - height[i]; 
            if(h > 0) sum += h;
        }

        return sum;   
    }
};
相关推荐
珠海西格电力2 小时前
数据采集与治理:零碳园区管理系统的 “生命线”
大数据·人工智能·算法·架构·能源
●VON2 小时前
HarmonyKit | 鸿蒙新特性:router 导航 API 从 pushUrl 到 UIContext 的演进
算法·华为·交互·harmonyos
星释2 小时前
鸿蒙智能体开发实战:31.鸿蒙壁纸大师 - 环境搭建与基础配置
算法·华为·ai·harmonyos·鸿蒙
ysa0510302 小时前
【板子】树上启发式合并
数据结构·c++·笔记·算法
学究天人2 小时前
数学公理体系大全:第一章 命题逻辑:真值之舞
人工智能·算法·机器学习·数学建模·动态规划·图论·抽象代数
小O的算法实验室2 小时前
2025年Neurocomputing,基于LLM的进化优化器:结合精英策略推理
算法
2301_800256114 小时前
数据结构基础期末复习例题
数据结构·算法
变量未定义~4 小时前
单调栈-四元组问题
数据结构·算法
冷小鱼4 小时前
AI Agent 核心算法:任务规划(Planning)的深度技术解析
人工智能·算法·planning
退休倒计时4 小时前
【每日一题】LeetCode 78. 子集 TypeScript
算法·leetcode·typescript