單調棧解下乙個更大元素

2021-10-20 02:09:38 字數 540 閱讀 7795

給你兩個沒有重複元素的陣列nums1和nums2,其中nums1是nums2 的子集。

請你找出nums1中每個元素在nums2中的下乙個比其大的值。

nums1中數字x的下乙個更大元素是指x在nums2中對應位置的右邊的第乙個比x大的元素。如果不存在,對應位置輸出-1。

public

int[

]nextgreaterelement

(int

nums1,

int[

] nums2)

//遍歷nums1的所有元素,然後在map中查詢,如果沒有查詢到,

//說明沒有遇到右邊比他大的值,預設給-1。

int[

] res =

newint

[nums1.length]

;for

(int i =

0; i < nums1.length; i++

)return res;

}

詳解參考

下乙個更大元素 I 單調棧

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

單調棧之下乙個更大元素I

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

單調棧 496 下乙個更大元素 I

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