496. Next Greater Element I

来源:互联网 发布:asp.net crm系统源码 编辑:程序博客网 时间:2024/06/08 10:00

题意理解:找到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;    }};
0 0