棧 (簡單) 下乙個更大元素 I

2021-10-08 15:23:49 字數 492 閱讀 8401

由於陣列nums1是nums2的子集,所以如果找出陣列nums2中所有的數的更大的數,那麼nums1的自然也就有了。

額外利用乙個map集合和乙個棧stack,map來儲存nums2中元素以及比其更大的元素的對映。stack用來儲存暫時找不到比自己更大的元素的元素。通過遍歷nums2,將nums2中的元素依次入棧,但在每次入棧之前,若棧stack非空且該元素大於棧頂元素,那麼該元素就是比棧頂元素下乙個更大的元素,將他們存入map集合中,並將棧頂元素彈出。否則直接將其入棧。

class solution 

stack.push(num);

}for (int i = 0; i < nums1.length; i++)

return result;}}

下乙個更大元素 I

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

下乙個更大元素 I 單調棧

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

LeetCode 下乙個更大元素 I

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