LeetCode:496. 下一个更大元素 I

class Solution {

public:

vector<int> nextGreaterElement(vector<int>& nums1, vector<int>& nums2) {

vector<int>greater=nextGreaterElement(nums2);

unordered_map<int,int>greaterMap;

for(int i=0;i<nums2.size();i++){

greaterMap[nums2[i]]=greater[i];

}

vector<int>res(nums1.size());

for(int i=0;i<nums1.size();i++){

res[i]=greaterMap[nums1[i]];

}

return res;

}

vector<int> nextGreaterElement(vector<int>& nums){

int n=nums.size();

vector<int>res(n);

stack<int> s;

for(int i=n-1;i>=0;i--){

while(!s.empty()&&s.top()<=nums[i]){

s.pop();

}

res[i]=s.empty()?-1:s.top();

s.push(nums[i]);

}

return res;

}

};

相关推荐
疯狂的喵1 天前
C++编译期多态实现
开发语言·c++·算法
scx201310041 天前
20260129LCA总结
算法·深度优先·图论
2301_765703141 天前
C++中的协程编程
开发语言·c++·算法
m0_748708051 天前
实时数据压缩库
开发语言·c++·算法
小魏每天都学习1 天前
【算法——c/c++]
c语言·c++·算法
智码未来学堂1 天前
探秘 C 语言算法之枚举:解锁解题新思路
c语言·数据结构·算法
Halo_tjn1 天前
基于封装的专项 知识点
java·前端·python·算法
春日见1 天前
如何避免代码冲突,拉取分支
linux·人工智能·算法·机器学习·自动驾驶
副露のmagic1 天前
更弱智的算法学习 day59
算法
m0_748233171 天前
30秒掌握C++核心精髓
开发语言·c++