如此简单AC也是出乎意料。首先计算每一个的nextLarge,最后用map的形式查找。
class Solution {
public:
vector<int> nextGreaterElement(vector<int>& findNums, vector<int>& nums) {
vector<int> result;
map<int,int> numsMap;
for(int i=0;i<nums.size();i++)
{
int nextLarge=-1;
for(int j=i+1;j<nums.size();j++)
{
if(nums[j]>nums[i])
{
nextLarge=nums[j];
break;
}
}
numsMap[nums[i]]=nextLarge;
}
for(int i=0;i<findNums.size();i++)
result.push_back(numsMap[findNums[i]]);
return result;
}
};