亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

leecode 解題總結:42. Trapping Rain Water

2019-11-10 17:34:39
字體:
來源:轉載
供稿:網友
#include <iostream>#include <stdio.h>#include <vector>using namespace std;/*問題: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.The above elevation map is represented by array [0,1,0,2,1,0,1,3,2,1,2,1]. In this case, 6 units of rain water (blue section) are being trapped. Thanks Marcos for contributing this image!分析:elevation map:高度圖。此題實際上是根據給定的數組,畫出高度圖,然后計算出高度圖中可以盛放的雨水。那么關鍵就是雨水實際的計算過程需要模擬出來。何時會出現雨水?當出現至少有連續三塊bar后,且至少中間的bar高度h2筆兩邊的bar高度h1和h3至少相差>=1,此時構成高度差,形成雨水雨水的大小由誰決定?雨水的大小由中間bar的高度h2,左邊連續bar中出現單調增的高度h1,與變連續bar中出現單調增的高度h3決定,則實際兩側計算采用的高度h=min(h1, h3),設尋找到的從中間bar向左連續出現單調增的截止bar橫坐標為x1,                                                            右								 x3則整個盛放雨水的底部寬度w=x3-1-x1,高度h=min(h1,h3),計算的盛放雨水面積S= 總面積 - 盛放雨水范圍內bar面積 = (x3-1-x1) * min(h1, h3) - 對x1到x3-1范圍內所有bar面積求和那么問題的關鍵是如何尋找到作為盛放雨水的左邊的bar和右邊的bar,可以認為左邊到中間bar單調減,中間bar到右邊單調增比如1,0,2就是符合上述條件的一種可以這樣,不斷羅列每個數作為中間底部bar,向左右兩側伸展,輸入:12(數組元素個數)0 1 0 2 1 0 1 3 2 1 2 132 0 245 4 1 265 2 1 2 1 5輸出:6(盛放雨水的面積)2114關鍵:1 正確解法:維護一個左邊的最大高度和右邊的最大高度,如果左邊的最大高度<右邊最大高度,就累加面積=leftMax-A[a]  之所以用最大高度減去bar高度就是水的面積2 漏了小單調區間在大單調區間中的情況,如5 2 1 2 1 5	//計算左右兩個截止bar中間的bar的總面積	for(int k = left + 1 ; k <= right - 1 ; k++)	{		//易錯,這里bar的高度應該為實際高度和realHeight的較小值,否則會多減		barArea += min( height.at(k) , realHeight);	}*/class Solution {public:    int trap(vector<int>& height) {        if(height.empty())		{			return 0;		}		int size = height.size();		int leftMax = INT_MIN;		int rightMax = INT_MIN;		int low = 0 ; 		int high = size - 1;		int water = 0;		while(low <= high)		{			leftMax = max(leftMax , height.at(low));			rightMax = max(rightMax , height.at(high));			//如果左邊小于右邊,則左邊可以存儲水			if(leftMax < rightMax)			{				water += (leftMax - height.at(low));				low++;			}			else			{				water += (rightMax - height.at(high));				high--;			}		}		return water;    }};void process(){	int num;	int value;	vector<int> height;	Solution solution;	while(cin >> num)	{		height.clear();		for(int i = 0 ; i < num ; i++)		{			cin >> value;			height.push_back(value);		}		int result = solution.trap(height);		cout << result << endl;	}}int main(int argc , char* argv[]){	process();	getchar();	return 0;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
www.欧美视频| 国模精品一区二区三区色天香| 亚洲视频自拍偷拍| 欧美视频13p| 91po在线观看91精品国产性色| 亚洲一区美女视频在线观看免费| 国产精品久久在线观看| 日韩大片在线观看视频| 精品在线欧美视频| 日韩久久精品电影| 日韩视频在线观看免费| www.日韩视频| 日韩av一卡二卡| 国产精品揄拍500视频| 最近免费中文字幕视频2019| 91精品久久久久久久久青青| 中文字幕欧美日韩va免费视频| 91精品国产精品| 在线色欧美三级视频| 国产91色在线免费| 免费91在线视频| 亚洲免费中文字幕| 亚洲丁香久久久| 欧美日本在线视频中文字字幕| 国产精品99久久久久久久久久久久| 欧美肥老太性生活视频| 国产精品2018| 亚洲成人网在线| 精品视频在线导航| 日本精品久久久久久久| 97在线精品国自产拍中文| 国产精品美女久久久久久免费| 欧美在线精品免播放器视频| 怡红院精品视频| 色妞一区二区三区| 91精品综合视频| 日韩精品在线观看网站| 亚洲男人天堂九九视频| 日本一区二三区好的精华液| 欧美大成色www永久网站婷| 欧美激情a∨在线视频播放| 国产精品成人观看视频国产奇米| 91po在线观看91精品国产性色| 欧美肥臀大乳一区二区免费视频| 亚洲精品资源在线| 26uuu亚洲国产精品| 成人黄色在线观看| 日韩在线观看成人| 一区二区中文字幕| 亚洲国语精品自产拍在线观看| 亚洲国产日韩欧美在线99| 欧美成人精品h版在线观看| 亚洲国产97在线精品一区| 亚洲欧美日韩高清| 欧美日韩一区免费| 国产一区二区美女视频| 中日韩美女免费视频网址在线观看| 这里精品视频免费| 在线观看视频99| 96精品久久久久中文字幕| 日本一区二区在线播放| 国产精品午夜国产小视频| 久久久久久久久国产精品| 国产激情视频一区| 国产精品一区二区电影| 精品成人乱色一区二区| 亚洲精品成人久久久| 成人中文字幕在线观看| 欧美性开放视频| 欧美国产精品日韩| 亚洲人线精品午夜| 久久天天躁日日躁| 久久久久久成人精品| 91精品视频观看| 亚洲国产成人在线视频| 日韩欧美极品在线观看| 亚洲春色另类小说| 亚洲国产精品久久久久秋霞不卡| 97色在线观看免费视频| 最近2019中文字幕在线高清| 国产欧美一区二区三区四区| 麻豆一区二区在线观看| 日韩在线观看免费全| 在线日韩精品视频| 日韩免费在线免费观看| 亚洲一区二区中文| 亚洲一区第一页| 欧美日韩激情美女| 日韩中文字幕网站| 国产精品久久久久久久久久免费| 91亚洲永久免费精品| 成人精品视频99在线观看免费| 伊人久久精品视频| 成人午夜高潮视频| 国产精品伦子伦免费视频| 福利精品视频在线| 欧美日韩国产专区| 日韩大陆毛片av| 色七七影院综合| 欧美国产第二页| 亚洲成人黄色在线观看| 中文字幕精品视频| 亚洲精品99久久久久| 国产精品日韩欧美大师| 亚洲一区二区三区sesese| 国产福利视频一区二区| 永久免费毛片在线播放不卡| 欧美视频免费在线观看| 亚洲区免费影片| 日韩高清有码在线| 日韩av在线免费| 欧亚精品中文字幕| 91av在线免费观看视频| 亚洲精品美女免费| 色综合影院在线| 国产精品久久电影观看| 精品国产一区二区三区久久狼黑人| www.99久久热国产日韩欧美.com| 久久国产一区二区三区| 日韩最新av在线| 日本老师69xxx| 欧美精品激情视频| 久久精品成人欧美大片古装| 一本一道久久a久久精品逆3p| 国产精品久久久999| 国产日韩欧美在线视频观看| 91免费欧美精品| 日本精品va在线观看| 久久影视电视剧免费网站| 亚洲国产精品99| 九九热精品视频| 亚洲人成电影在线| 日韩中文字幕在线播放| 亚洲91精品在线| 亚洲成人久久久久| 日韩成人免费视频| 亚洲男人av在线| 亚洲激情国产精品| 久久精品国产成人| 欧美日韩美女视频| 97视频在线观看播放| 91精品久久久久久久久久久久久久| 在线日韩精品视频| 午夜美女久久久久爽久久| 日韩精品日韩在线观看| 国产精品夜色7777狼人| 国产成人福利视频| 久久久97精品| 色偷偷91综合久久噜噜| 日韩精品免费在线视频观看| 日韩精品视频三区| 欧美高清第一页| 蜜臀久久99精品久久久无需会员| 播播国产欧美激情| 亚洲在线第一页| 久久色免费在线视频| 日韩欧美亚洲成人| 日韩精品在线影院| 欧美另类老女人| 成人网在线免费观看| 97人洗澡人人免费公开视频碰碰碰| 精品国产91久久久久久老师| 一区二区三区回区在观看免费视频| 亚洲欧美中文在线视频|