496. 下一个更大元素 I
从代码来看,v1的作用就是用来映射一次,增加了一层映射
class Solution {
public:
vector<int> nextGreaterElement(vector<int>&v1,vector<int>&v2) {
vector<int>res(v1.size(),-1);
unordered_map<int, int> m; // key:下标元素,value:下标
for (int i = 0; i < v1.size(); i++) {
m[v1[i]] = i;
}
vector<int>s;
for(int i=0;i<v2.size();i++){
while(!s.empty()&&v2[s.back()]<v2[i]){
int idx = s.back();
s.pop_back();
if (m.find(v2[idx])!=m.end()){
res[m[v2[idx]]]=v2[i];
}
}
s.push_back(i);
}
return res;
}
};