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;

}

};

相关推荐
im_AMBER2 小时前
数据结构 06 线性结构
数据结构·学习·算法
earthzhang20213 小时前
【1028】字符菱形
c语言·开发语言·数据结构·c++·算法·青少年编程
papership4 小时前
【入门级-算法-3、基础算法:二分法】
数据结构·算法
hjlgs4 小时前
Linux中双向链表介绍
数据结构·链表
通信小呆呆4 小时前
收发分离多基地雷达椭圆联合定位:原理、算法与误差分析
算法·目标检测·信息与通信·信号处理
earthzhang20215 小时前
第3讲:Go垃圾回收机制与性能优化
开发语言·jvm·数据结构·后端·性能优化·golang
AA陈超6 小时前
虚幻引擎5 GAS开发俯视角RPG游戏 P05-08 UI 部件数据表
c++·游戏·ue5·游戏引擎·虚幻
纵有疾風起6 小时前
C++——类和对象(3)
开发语言·c++·经验分享·开源
丁浩6668 小时前
Python机器学习---2.算法:逻辑回归
python·算法·机器学习
承渊政道8 小时前
动态内存管理
c语言·c++·经验分享·c#·visual studio