附最後一提實現**:
#include#include#include
using
namespace
std;
int maxarea(int *arr, int
len)
else
//迴圈退出時,如果棧不為空且棧頂元素等於當前元素,則進行矩形長度合併
if(!my_stack.empty() && my_stack.top().first ==arr[i])
my_stack.top().second += pre+1;//
+1表示將當前元素也計算在內
else
}top = my_stack.top().first;//
更新top儲存的棧頂元素,準備與下乙個取出的元素進行比較
++i;
}int pre = 0
;
/*上面while退出後,棧中元素為遞增
如陣列為
現在從棧中逐個彈出,進行max求值
*/while(!my_stack.empty())//
判斷棧是否為空,不為空,則表示此時棧中都是遞增的
return
max;
}int
main()
;int arr = ;
//int arr = ;
int len = sizeof(arr) / sizeof(int
);
int max =maxarea(arr,len);
cout
<
max:
"return0;
}
騰訊實習生筆試題
一 單項選擇題 1 給定3個int型別的正整數x,y,z,對如下4組表示式判斷正確的選項 int a1 x y z int b1 x y z int a2 x z y int b2 x z y int c1 x z int d1 x y z int c2 x z a a1一定等於a2 b b1一定定...
騰訊實習生招聘之總體感悟
每一次面試之後是不是就意味著暫時的放鬆?不管面試如何,高興也好,傷心也罷,你要清楚自己最要緊的是幹什麼。面試絕不能像我們平時學校的考試,每一科考完後,你可以把這幾天來所背的知識點全都拋到腦後,然後好好放鬆甚至是放縱一下自己。你得迅速投入到下一輪面試的準備中去,不要過早的喜悅或失望,也不要把這寶貴的時...
2012騰訊實習生筆試題
問題描述 兩個陣列a n b n 其中a n 的各個元素值已知,現給b i 賦值,b i a 0 a 1 a 2 a n 1 a i 要求 1.不准用除法運算2.除了迴圈計數值,a n b n 外,不准再用其他任何變數 包括區域性變數,全域性變數等 3.滿足時間複雜度o n 空間複雜度o 1 分析 ...