面试题 17.21. 直方图的水量/42. 接雨水
生活随笔
收集整理的這篇文章主要介紹了
面试题 17.21. 直方图的水量/42. 接雨水
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
2020-05-16
1.題目描述
直方圖的水量2.題解
對于某一個柱體而言,它上面的水量等于它左右兩邊柱體最大值最小值的大小減去當前柱體的高度。3.代碼
class Solution { public:int trap(vector<int>& height) {int l=height.size();if (l==0) return 0;vector<int> v1(l,0);vector<int> v2(l,0);v1[0]=height[0];for (int i=1;i<l;i++){v1[i]=max(v1[i-1],height[i]);}v2[l-1]=height[l-1];for (int i=l-2;i>=0;i--){v2[i]=max(v2[i+1],height[i]);}int cnt=0;for (int i=0;i<l;i++){cnt+=min(v1[i],v2[i])-height[i];}return cnt;} };42
class Solution { public:int trap(vector<int>& height) {int l=height.size();if (l==0) return 0;vector<int> x1(l,0);vector<int> x2(l,0);x1[0]=height[0];for (int i=1;i<l;i++){x1[i]=max(x1[i-1],height[i]);}x2[l-1]=height[l-1];for (int i=l-2;i>=0;i--){x2[i]=max(x2[i+1],height[i]);}int cnt=0;for (int i=0;i<l;i++){cnt+=min(x1[i],x2[i])-height[i];}return cnt;} };總結(jié)
以上是生活随笔為你收集整理的面试题 17.21. 直方图的水量/42. 接雨水的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python数据格式:%s字符串,%d整
- 下一篇: 窗外传来嬉闹声,我默默关上窗