题目如下:

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.

解析思路:先找到最高峰,然后从两边向中间计算,因为两边向中间是递增的趋势

参考代码如下:

    int trap(int A[], int n) {if(n <= 2) return 0;int max = -1, maxInd = 0;int i = 0;for(; i < n; ++i){//先找出最高峰if(A[i] > max){max = A[i];maxInd = i;}}int area = 0, root = A[0];for(i = 0; i < maxInd; ++i){//从左侧到最高峰的计算if(root < A[i]) root = A[i];else area += (root - A[i]);}for(i = n-1, root = A[n-1]; i > maxInd; --i){//从右侧到最高峰的计算if(root < A[i]) root = A[i];else area += (root - A[i]);}return area;}

Trapping Rain Water相关推荐

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

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

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

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

  3. Leetcode 动态规划 Trapping Rain Water

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

  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. LeetCode42. Trapping Rain Water

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

  9. [leetcode]Trapping Rain Water @ Python

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

  10. 【leetcode】42. Trapping Rain Water 计算坑洼地的积水量

    1. 题目 Given n non-negative integers representing an elevation map where the width of each bar is 1, ...

最新文章

  1. php点号的意思,[PHP] - 逗号和点号的区别
  2. 机器学习之kNN算法(纯python实现)
  3. java.lang.IllegalStateException: getOutputStream() has already been called for this response
  4. 达梦数据源配置_weblogic配置数据源连接达梦数据库
  5. 管理老板,让他乖乖给你涨工资
  6. speedtest命令行linux,Linux或者Mac下命令行speedtest测试网络速度
  7. html表ge模板_猿进化系列10——一文学会动态模板的套路
  8. Linux磁盘管理--RAID原理
  9. Python Tricks(一)—— np.where 与最大最小截断
  10. 深度学习之Bottleneck Layer or Bottleneck Features
  11. 计算机哪个是易失性存储器,易失性的存储器是什么?
  12. 分析微信聊天记录(1)——获取微信聊天记录
  13. dns服务器哪个稳定,几个非常好用的DNS服务器(解决电信DNS此劫问题) - 电脑技术,dns,ricky,...
  14. iOS 之模拟网易新闻主页的滚动效果
  15. CSS模块化基本思想
  16. 怕公司的新同事超过你怎么办
  17. 绕过限制低价购买和增删低价购买逻辑漏洞
  18. Configuring solrconfig.xml (1)
  19. 【OI做题记录】【BZOJ】【Usaco2008 Mar】土地购买
  20. 【正点原子FPGA连载】第四章 Vivado软件的安装和使用 -摘自【正点原子】领航者ZYNQ之FPGA开发指南_V2.0

热门文章

  1. logstash使用中遇到的问题
  2. GC算法以及垃圾回收器
  3. 为什么消息队列不实现精准一次(exactly once)?
  4. (*长期更新)软考网络工程师学习笔记——Section 15 无线网络技术
  5. STM32F1如何切换到不同的型号
  6. Android textview字体颜色显示和图片显示
  7. android中判断sim卡状态和读取联系人资料的方法
  8. sql的limit用法
  9. mysql80连接不上本地服务器_Windows Server 2016 远程桌面本地连接不上
  10. python折线图怎么添加数值_Python数据可视化:如何创建曲线图