C 接雨水,不看後悔系列,解一道高頻面試題

2021-10-06 14:35:23 字數 1804 閱讀 3925

這是一道同事討論過的一道趣味題,綜合了比較多的解題思想,其中有二分,遞迴,分治等思想。閒來抽空實現了下,如有錯誤請多多指出,或者有優化處請多多指出。邏輯不是很複雜,直接上**吧。

//

// main.cpp

// 面試題經典

//// created by 於磊 on 2020/5/27.

//#include

#include

#include

using

namespace std;

typedef vector<

int>

::const_iterator c_iter;

int area =0;

size_t max

(c_iter begin,c_iter end,

const vector<

int> water)

size_t maxindex

(c_iter begin,c_iter end,

const vector<

int> water)

intgetareal

(c_iter _begin,c_iter _end,

const vector<

int> _water )

size_t _idx =

maxindex

(_begin, _end,_water)

; size_t _max =

max(_begin, _end,_water);if

(_idx>0)

while

(_begin+_idx!=_end)

return0;

}int

getarear

(c_iter _begin,c_iter _end,

const vector<

int> _water )

size_t _idx =

maxindex

(_begin, _end,_water)

; size_t _max =

max(_begin, _end,_water)

;auto maxidx =_begin+_idx+1;

if( _idx<_end-_begin-1>

while

(_begin!=maxidx)

return0;

}int

main

(int argc,

const

char

* ar**)

size_t _idx =

maxindex

(water.

begin()

, water.

end(

),water)

;getareal

(water.

begin()

, water.

begin()

+_idx, water)

;getarear

(water.

begin()

+_idx, water.

end(

), water)

; cout<<

"總共裝水 "

不看後悔的

根據 服務市場公告,微淘外掛程式已於昨日結束了活動推廣期,在推廣期過程中所執行的1分錢 月的活動 也將到限。此前,為了減少零元服務對服務商造成的影響,服務市場曾特將服務產品統一設定推廣價為0.01元 月,並設定為免費試用15天。不過,自今日起,微淘外掛程式件執行服務市場的指導 新的定價將分為四種 1...

Android開發必看知識,不看後悔

打包為大家奉上最實用最給力的資源,不看你絕對後悔。最強大的ui特效 奇藝高畫質ui 介面源 搜尋關鍵字飛入飛出效果 水波紋效果,附工程原始碼 效果很好很逼真 特效!超牛x launcher特效 仿360 一鍵優化動畫效果 功能強大的拼圖人生原始碼 最火爆的精品例項 實用技巧 精品收藏彙總 andro...

Android開發必看知識,不看後悔

打包為大家奉上最實用最給力的資源,不看你絕對後悔。最強大的ui特效 奇藝高畫質ui介面源 搜尋關鍵字飛入飛出效果 水波紋效果,附工程原始碼 效果很好很逼真 特效!超牛x launcher特效 仿360一鍵優化動畫效果 功能強大的拼圖人生原始碼 最火爆的精品例項 實用技巧 精品收藏彙總 android...