小彩筆的痛苦刷題日記 下乙個更大元素

2021-10-21 06:20:19 字數 1014 閱讀 3889

一、下乙個更大元素 i

給兩個沒有重複元素的陣列nums1nums2,其中nums1nums2的子集。請找出nums1中每個元素在nums2中的下乙個比其大的值。nums1中數字x的下乙個更大元素是指xnums2中對應位置的右邊的第乙個比x大的元素。如果不存在,對應位置輸出 -1 。

public

class

solution

stack.

push

(nums[i]);

}while

(!stack.

empty()

)for

(int i =

0; i < findnums.length; i++

)return res;

}}

二、下乙個更大元素ⅱ

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

輸入:[1

,2,1

]輸出:[2

,-1,

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

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

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

建立【單調遞減棧】,對原陣列遍歷:

class

solution

stack.

push

(index)

;// 入棧的是nums陣列的下標

}return res;

}}

下乙個更大的數

1 問題描述 兩個不重複元素的陣列 nums1 和 nums2,其中nums1 是 nums2 的子集。在nums2相應位置找到nums1所有元素的下乙個更大數字。nums1 中數字 x 的下乙個更大元素是指 x 在 nums2 中對應位置的右邊的第乙個比 x 大的元素。如果不存在,對應位置輸出 1...

下乙個更大的元素

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

LeetCode刷題 503下乙個更大元素 二

還是今天的每日一題,今天的是乙個中等難度的題目。先看一下題目描述吧。簡單解釋一下就是尋找陣列中每乙個元素的下乙個比它大的元素,這個陣列是乙個迴圈陣列。看到這個題目,果然我只想得到暴力解法。所謂的暴力解法,就是遍歷陣列中每乙個元素,然後再從當前元素開始再遍歷陣列,直到找到比當前元素大的下乙個元素,然後...