本文主要是介绍leetcode 496. 下一个更大元素 I (很简单),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目解析:
按照题目意思做就好了,先定义一个hash,存储nums的坐标,然后按照找后面第一个比fundnums大的元素,就好了。
代码:
class Solution {
public:
vector<int> nextGreaterElement(vector<int>& findNums, vector<int>& nums) {
long len = nums.size();
vector<int> ret;
unordered_map<int, int> mp;
for(int i = 0; i < len; i++){
mp[nums[i]] = i;
}
for(int i = 0; i < findNums.size(); i++){
int index = mp[findNums[i]] + 1;
while(index < len && nums[index] < findNums[i]) index++;
if(index < len)
ret.push_back(nums[index]);
else
ret.push_back(-1);
}
return ret;
}
};
这篇关于leetcode 496. 下一个更大元素 I (很简单)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!