核心:單調棧+迴圈佇列
單調棧:保持棧單調,push進去的時候不單調的時候pop出來
while
(!s.
empty()
&&s.
top(
)<=nums[i]
) s.
pop();
if(!s.empty()
) res[i]
=s.top()
;s.push
(nums[i]
);
迴圈佇列,將陣列的元素複製乙份到原陣列的末尾
nums.
insert
(nums.
begin()
,nums.
begin()
,nums.
end())
;
**:
class
solution
; t.
insert
(t.end()
,nums.
begin()
,nums.
end())
; stack<
int> s;
vector<
int>
res(t.
size()
);for(
int i=t.
size()
-1;i>=
0;i--
)return;}
};
leetcode503 下乙個更大的元素
難度 中等 題目 給定乙個迴圈陣列 最後乙個元素的下乙個元素是陣列的第乙個元素 輸出每個元素的下乙個更大元素。數字 x 的下乙個更大的元素是按陣列遍歷順序,這個數字之後的第乙個比它更大的數,這意味著你應該迴圈地搜尋它的下乙個更大的數。如果不存在,則輸出 1。示例 1 輸入 1,2,1 輸出 2,1,...
LeetCode 503 下乙個更大元素II
給定乙個迴圈陣列 最後乙個元素的下乙個元素是陣列的第乙個元素 輸出每個元素的下乙個更大元素。數字 x 的下乙個更大的元素是按陣列遍歷順序,這個數字之後的第乙個比它更大的數,這意味著你應該迴圈地搜尋它的下乙個更大的數。如果不存在,則輸出 1。示例 1 輸入 1,2,1 輸出 2,1,2 解釋 第乙個 ...
Leetcode 503 下乙個更大元素II
給定乙個迴圈陣列 最後乙個元素的下乙個元素是陣列的第乙個元素 輸出每個元素的下乙個更大元素。數字 x 的下乙個更大的元素是按陣列遍歷順序,這個數字之後的第乙個比它更大的數,這意味著你應該迴圈地搜尋它的下乙個更大的數。如果不存在,則輸出 1。示例 1 輸入 1,2,1 輸出 2,1,2 解釋 第乙個 ...