题意理解:找到findNums数组中每一个数在nums数组所在位置之后的比当前数大的数字,如果没有,保存-1
class Solution {
public:
vector<int> nextGreaterElement(vector<int>& findNums, vector<int>& nums) {
int len1=findNums.size();
int len=nums.size();
vector<int> res;//返回结果
if(len1==0)return res;
map<int,int> mp;//存放数据和对应的位置
for(int i=0;i<len;i++)
mp[nums[i]]=i;
for(int i=0;i<len1;i++)//查找比当前数字大的右边的第一个数字
{ int j;
for(j=mp[findNums[i]]+1;j<len;j++)
{
if(nums[j]>findNums[i])
{ res.push_back(nums[j]);
break;
}
}
if(j>=len)//当没有找到时,直接存储-1
res.push_back(-1);
}
return res;
}
};