题目描述:(链接)

Given n non-negative integers representing an elevation map where the width of each bar is 1, compute how much water it is able to trap after raining.

For example, 
Given [0,1,0,2,1,0,1,3,2,1,2,1], return 6.

题目解析:

遍历数组,找到当前元素左边的最大值max_left右边的最大值max_right,如果min(max_left, max_right) < 当前元素高度h,将h - min(max_left, max_right)加到结果上去。

 1 class Solution {
 2 public:
 3     int trap(vector<int>& height) {
 4         int length = height.size();
 5         vector<int> max_left(length, 0);
 6         vector<int> max_right(length, 0);
 7
 8         int result = 0;
 9
10         for (int i = 1; i < length; ++i) {
11             max_left[i] = max(max_left[i - 1], height[i - 1]);
12             max_right[length - 1 - i] = max(max_right[length - i], height[length - i]);
13         }
14
15         for (int i = 0; i < length; ++i) {
16             int h = min(max_left[i], max_right[i]);
17             if (h > height[i]) {
18                 result += (h - height[i]);
19             }
20         }
21
22         return result;
23     }
24 };

转载于:https://www.cnblogs.com/skycore/p/4868909.html

[LeetCode]Trapping Rain Water相关推荐

  1. [leetcode]Trapping Rain Water @ Python

    原题地址:https://oj.leetcode.com/problems/trapping-rain-water/ 题意: Given n non-negative integers represe ...

  2. leetcode#42 Trapping rain water的五种解法详解

    leetcode#42 Trapping rain water 这道题十分有意思,可以用很多方法做出来,每种方法的思想都值得让人细细体会. 42. Trapping Rain Water Given ...

  3. LeetCode 42. Trapping Rain Water 【两种解法】(python排序遍历,C++ STL map存索引,时间复杂度O(nlogn))

    LeetCode 42. Trapping Rain Water Python解法 解题思路: 本思路需找到最高点左右遍历,时间复杂度O(nlogn),以下为向左遍历的过程. 将每一个点的高度和索引存 ...

  4. 【重点:BFS】LeetCode 407. Trapping Rain Water II

    LeetCode 407. Trapping Rain Water II 博客转载自:http://www.cnblogs.com/grandyang/p/5928987.html [太难了,被智商碾 ...

  5. 【重点:DP 双指针 栈】LeetCode 42. Trapping Rain Water

    LeetCode 42. Trapping Rain Water 本博客转载自:http://www.cnblogs.com/grandyang/p/4402392.html [自己又不会做,抄的-& ...

  6. LeetCode 42 Trapping Rain Water 收集雨水

    LeetCode 42 Trapping Rain Water 收集雨水 Given n non-negative integers representing an elevation map whe ...

  7. Leetcode 407. Trapping Rain Water II 收集雨水2 解题报告

    1 解题思想 我看了下题目,发现比预想中的简单,加之我比较烂,所以其实我还是没做,只是看懂了上回贴的代码,然后做了一下注释,现在我来讲下题目. 首先请看下上一题,上一题是2D的这题是3D的: Leet ...

  8. Leetcode 动态规划 Trapping Rain Water

    本文为senlie原创.转载请保留此地址:http://blog.csdn.net/zhengsenlie Trapping Rain Water Total Accepted: 14568 Tota ...

  9. LeetCode42. Trapping Rain Water

    LeetCode42. Trapping Rain Water 原题地址 题目描述 Given n non-negative integers representing an elevation ma ...

最新文章

  1. mysql存储过程参数可选,如何在T-SQL存储过程中使用可选参数?
  2. iOS开发网络篇—搭建本地服务器(待整理)
  3. Linux2.6内核--对块IO层操作的讨论
  4. Node.js之readline模块的使用
  5. CAS项目部署和基础操作
  6. python ide: pycharm
  7. MySQL中的前缀索引
  8. 2021-2025年中国云计费行业市场供需与战略研究报告
  9. HDU-1796 How many integers can you find 容斥定理
  10. 5.业务架构·应用架构·数据架构实战 --- 业务驱动的数据架构设计
  11. 小D课堂 - 新版本微服务springcloud+Docker教程_6-06 zuul微服务网关集群搭建
  12. mysql存储过程的学习(mysql提高执行效率之进阶过程)
  13. Android Studio中TextView
  14. StdAfx.h显示错误,无法打开
  15. 【 华为云计算专家 HCIE-Cloud Computing V3.0 预发布】
  16. SpringBoot sha 加密
  17. 怎么把b站的视频保存到本地
  18. 基于Java的奖学金评定系统的设计
  19. 【11】Activity的生命周期
  20. AspNetCore3.1 在CentOS 用docker发布 踩坑辛酸史

热门文章

  1. bat 指定hid驱动加载_Visual Paradigm:在数据库连接中为JDBC驱动程序使用参考路径...
  2. 安装go编译器后没有gopath文件夹_Go 语言环境安装(集成 VS code)
  3. 跨网页的新手引导_做自媒体的新手要注意什么,这些坑不能踩,这些事不能做...
  4. [Hive]Hive表文件压缩介绍
  5. WordPress优化:为原创文章和转载文章分别添加不同的版权申明
  6. Java成员的访问权限控制
  7. vector的常用总结
  8. EGO走进美团——追寻千亿市场背后的技术力量
  9. 准备开始考试系统分析员
  10. 学习linux—— 磁盘相关指令