給定乙個迴圈陣列(最後乙個元素的下乙個元素是陣列的第乙個元素),輸出每個元素的下乙個更大元素。數字 x 的下乙個更大的元素是按陣列遍歷順序,這個數字之後的第乙個比它更大的數,這意味著你應該迴圈地搜尋它的下乙個更大的數。如果不存在,則輸出 -1。
示例 1:
注意:輸入陣列的長度不會超過 10000。輸入: [1,2,1]
輸出: [2,-1,2]
解釋: 第乙個 1 的下乙個更大的數是 2;
數字 2 找不到下乙個更大的數;
第二個 1 的下乙個最大的數需要迴圈搜尋,結果也是 2。
單調棧棧中從底到頂是遞增的,所以在迴圈一次之後棧中剩餘的元素都是沒有找到下乙個更大元素的,解決方法就是再進行一次迴圈,這樣可以找到除最大元素之外的所有元素的下乙個最大元素
class solution
s.push
(i);}}
return ans;}}
;
leetcode503 下乙個更大的元素
難度 中等 題目 給定乙個迴圈陣列 最後乙個元素的下乙個元素是陣列的第乙個元素 輸出每個元素的下乙個更大元素。數字 x 的下乙個更大的元素是按陣列遍歷順序,這個數字之後的第乙個比它更大的數,這意味著你應該迴圈地搜尋它的下乙個更大的數。如果不存在,則輸出 1。示例 1 輸入 1,2,1 輸出 2,1,...
Leetcode 503 下乙個更大元素II
給定乙個迴圈陣列 最後乙個元素的下乙個元素是陣列的第乙個元素 輸出每個元素的下乙個更大元素。數字 x 的下乙個更大的元素是按陣列遍歷順序,這個數字之後的第乙個比它更大的數,這意味著你應該迴圈地搜尋它的下乙個更大的數。如果不存在,則輸出 1。示例 1 輸入 1,2,1 輸出 2,1,2 解釋 第乙個 ...
Leetcode503 下乙個更大元素 II 題解
給定乙個迴圈陣列 最後乙個元素的下乙個元素是陣列的第乙個元素 輸出每個元素的下乙個更大元素。數字 x 的下乙個更大的元素是按陣列遍歷順序,這個數字之後的第乙個比它更大的數,這意味著你應該迴圈地搜尋它的下乙個更大的數。如果不存在,則輸出 1。建立乙個棧,來儲存下標值,我們用max index來記錄最大...