503 下乙個更大元素

2021-10-19 23:06:45 字數 683 閱讀 8784

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

示例 1:

輸入: [1,2,1]

輸出: [2,-1,2]

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

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

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

class

solution

if(i}return ans;

}}

筆記:

迴圈搜尋,需要將陣列遍歷2遍,並將index取餘。

注意push的是index,不是nums[index],只是在迴圈搜尋的時候遍歷2*nums.length,push的時候不需要裝nums.length以上的index。

arrays.fill(陣列,數字)

思路:1.將陣列中所有元素全部置為-1

2.遍歷兩次,相當於迴圈遍歷

3.第一遍遍歷,入棧索引i

4.只要後面元素比棧頂索引對應的元素大,索引出棧,更改res[sta.pop()]的數值

5.最後棧裡面剩餘的索引對應的陣列值,都為預設的-1(因為後面未找到比它大的值)

503 下乙個更大元素 II

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

503 下乙個更大元素 II

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

503 下乙個更大元素 II

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