class Solution {
public:
vector<int> nextGreaterElement(vector<int>& nums1, vector<int>& nums2) {
stack<int> S;
unordered_map<int, int> hash;
vector<int> ans;
int len1 = nums1.size();
int len2 = nums2.size();
for(int i = len2 - 1; i >= 0; i--)
{
while(!S.empty() && nums2[i] > S.top())
S.pop();
hash[nums2[i]] = S.empty() ? - 1 : S.top();
S.push(nums2[i]);
}
for(int i = 0; i < len1; i++)
ans.emplace_back(hash[nums1[i]]);
return ans;
}
};
LeetCode 496. 下一个更大元素 I
最新推荐文章于 2024-05-13 17:51:55 发布