Trapping Rain Water
题目如下:
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相关推荐
- leetcode#42 Trapping rain water的五种解法详解
leetcode#42 Trapping rain water 这道题十分有意思,可以用很多方法做出来,每种方法的思想都值得让人细细体会. 42. Trapping Rain Water Given ...
- LeetCode 42. Trapping Rain Water 【两种解法】(python排序遍历,C++ STL map存索引,时间复杂度O(nlogn))
LeetCode 42. Trapping Rain Water Python解法 解题思路: 本思路需找到最高点左右遍历,时间复杂度O(nlogn),以下为向左遍历的过程. 将每一个点的高度和索引存 ...
- Leetcode 动态规划 Trapping Rain Water
本文为senlie原创.转载请保留此地址:http://blog.csdn.net/zhengsenlie Trapping Rain Water Total Accepted: 14568 Tota ...
- 【重点:BFS】LeetCode 407. Trapping Rain Water II
LeetCode 407. Trapping Rain Water II 博客转载自:http://www.cnblogs.com/grandyang/p/5928987.html [太难了,被智商碾 ...
- 【重点:DP 双指针 栈】LeetCode 42. Trapping Rain Water
LeetCode 42. Trapping Rain Water 本博客转载自:http://www.cnblogs.com/grandyang/p/4402392.html [自己又不会做,抄的-& ...
- LeetCode 42 Trapping Rain Water 收集雨水
LeetCode 42 Trapping Rain Water 收集雨水 Given n non-negative integers representing an elevation map whe ...
- Leetcode 407. Trapping Rain Water II 收集雨水2 解题报告
1 解题思想 我看了下题目,发现比预想中的简单,加之我比较烂,所以其实我还是没做,只是看懂了上回贴的代码,然后做了一下注释,现在我来讲下题目. 首先请看下上一题,上一题是2D的这题是3D的: Leet ...
- LeetCode42. Trapping Rain Water
LeetCode42. Trapping Rain Water 原题地址 题目描述 Given n non-negative integers representing an elevation ma ...
- [leetcode]Trapping Rain Water @ Python
原题地址:https://oj.leetcode.com/problems/trapping-rain-water/ 题意: Given n non-negative integers represe ...
- 【leetcode】42. Trapping Rain Water 计算坑洼地的积水量
1. 题目 Given n non-negative integers representing an elevation map where the width of each bar is 1, ...
最新文章
- php点号的意思,[PHP] - 逗号和点号的区别
- 机器学习之kNN算法(纯python实现)
- java.lang.IllegalStateException: getOutputStream() has already been called for this response
- 达梦数据源配置_weblogic配置数据源连接达梦数据库
- 管理老板,让他乖乖给你涨工资
- speedtest命令行linux,Linux或者Mac下命令行speedtest测试网络速度
- html表ge模板_猿进化系列10——一文学会动态模板的套路
- Linux磁盘管理--RAID原理
- Python Tricks(一)—— np.where 与最大最小截断
- 深度学习之Bottleneck Layer or Bottleneck Features
- 计算机哪个是易失性存储器,易失性的存储器是什么?
- 分析微信聊天记录(1)——获取微信聊天记录
- dns服务器哪个稳定,几个非常好用的DNS服务器(解决电信DNS此劫问题) - 电脑技术,dns,ricky,...
- iOS 之模拟网易新闻主页的滚动效果
- CSS模块化基本思想
- 怕公司的新同事超过你怎么办
- 绕过限制低价购买和增删低价购买逻辑漏洞
- Configuring solrconfig.xml (1)
- 【OI做题记录】【BZOJ】【Usaco2008 Mar】土地购买
- 【正点原子FPGA连载】第四章 Vivado软件的安装和使用 -摘自【正点原子】领航者ZYNQ之FPGA开发指南_V2.0