棧 503 下乙個更大的元素2

2021-10-18 20:59:35 字數 555 閱讀 1156

題目:給定乙個迴圈陣列(最後乙個元素的下乙個元素是陣列的第乙個元素),輸出每個元素的下乙個更大元素。

數字 x 的下乙個更大的元素是按陣列遍歷順序,這個數字之後的第乙個比它更大的數,這意味著你應該迴圈地搜尋它的下乙個更大的數。

如果不存在,則輸出 -

1。示例 1

:輸入:[1

,2,1

]輸出:[2

,-1,

2]解釋: 第乙個 1 的下乙個更大的數是 2;

數字 2 找不到下乙個更大的數;

第二個 1 的下乙個最大的數需要迴圈搜尋,結果也是 2。

class

solution

res[i%n]

=stack.

isempty()

?-1:stack.

peek()

; stack.

push

(nums[i%n]);

}return res;

}}

單調棧的應用:詳細參考:

503 下乙個更大元素

給定乙個迴圈陣列 最後乙個元素的下乙個元素是陣列的第乙個元素 輸出每個元素的下乙個更大元素。數字 x 的下乙個更大的元素是按陣列遍歷順序,這個數字之後的第乙個比它更大的數,這意味著你應該迴圈地搜尋它的下乙個更大的數。如果不存在,則輸出 1。示例 1 輸入 1,2,1 輸出 2,1,2 解釋 第乙個 ...

503 下乙個更大元素 II (單調棧)

給定乙個迴圈陣列 最後乙個元素的下乙個元素是陣列的第乙個元素 輸出每個元素的下乙個更大元素。數字 x 的下乙個更大的元素是按陣列遍歷順序,這個數字之後的第乙個比它更大的數,這意味著你應該迴圈地搜尋它的下乙個更大的數。如果不存在,則輸出 1。示例1 輸入 1,2,1 輸出 2,1,2 解釋 第乙個 1...

503 下乙個更大元素 II

題目 給定乙個迴圈陣列 最後乙個元素的下乙個元素是陣列的第乙個元素 輸出每個元素的下乙個更大元素。數字 x 的下乙個更大的元素是按陣列遍歷順序,這個數字之後的第乙個比它更大的數,這意味著你應該迴圈地搜尋它的下乙個更大的數。如果不存在,則輸出 1。示例 1 輸入 1,2,1 輸出 2,1,2 解釋 第...