現在我們有乙個int陣列,請你找出陣列中每個元素的下乙個比它大的元素。
給定乙個int陣列a及陣列的大小n,請返回乙個int陣列,代表每個元素比他大的下乙個元素,若不存在則為-1。保證陣列中元素均為正整數。
測試樣例:
[11,13,10,5,12,21,3],7返回:[13,21,12,12,21,-1,-1]
思路:使用棧,看**比較好明白。
**:class nextelement {
public:
vectorfindnext(vectora, int n) {
// write code here
vectorresult;
stackstk;//用於儲存比當前值都大的數
stk.push(-1);
for(int i=n-1;i>=0;i--){
int temp=stk.top();
while(temp!=-1&&temp
下乙個較大元素
題目描述 現在我們有乙個int陣列,請你找出陣列中每個元素的下乙個比它大的元素。給定乙個int陣列a及陣列的大小n,請返回乙個int陣列,代表每個元素比他大的下乙個元素,若不存在則為 1。保證陣列中元素均為正整數。測試樣例 11,13,10,5,12,21,3 7 返回 13,21,12,12,21...
CTCI 下乙個較大元素
下乙個較大元素 題目描述 現在我們有乙個int陣列,請你找出陣列中每個元素的下乙個比它大的元素。給定乙個int陣列a及陣列的大小n,請返回乙個int陣列,代表每個元素比他大的下乙個元素,若不存在則為 1。保證陣列中元素均為正整數。測試樣例 11,13,10,5,12,21,3 7返回 13,21,1...
下乙個更大元素 III
參考 感謝!給定乙個32位正整數 n,你需要找到最小的32位整數,其與 n 中存在的位數完全相同,並且其值大於n。如果不存在這樣的32位整數,則返回 1。示例 1 輸入 12 輸出 21 示例 2 輸入 21 輸出 1 class solution int nextgreaterelement in...