給定兩個 沒有重複元素 的陣列 nums1 和 nums2 ,其中nums1 是 nums2 的子集。找到 nums1 中每個元素在 nums2 中的下乙個比其大的值。
nums1 中數字 x 的下乙個更大元素是指 x 在 nums2 中對應位置的右邊的第乙個比 x 大的元素。如果不存在,對應位置輸出 -1 。
1.暴力搜尋,對nums2中每乙個元素依次向右找到第乙個比它大的數
2.單調棧,被壓入棧中的元素應該具有單調性,例如1,3,4,2四個元素,按照單調遞減棧的順序入棧:
class
solution
st.push
(i);
}while
(!st.
empty()
)for
(int i=
0;isize()
;i++
) ans.
push_back
(mp[nums1[i]])
;return ans;}}
;
單調棧之下乙個更大元素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 大的元素。如果不存在,對應位置輸出 ...
單調棧解下乙個更大元素
給你兩個沒有重複元素的陣列nums1和nums2,其中nums1是nums2 的子集。請你找出nums1中每個元素在nums2中的下乙個比其大的值。nums1中數字x的下乙個更大元素是指x在nums2中對應位置的右邊的第乙個比x大的元素。如果不存在,對應位置輸出 1。public int nextg...