0
点赞
收藏
分享

微信扫一扫

下一个较大元素II


现在有一个数组,请找出数组中每个元素的后面比它大的最小的元素,若不存在则为-1。

A及数组的大小n,请返回每个元素所求的值组成的数组。保证A中元素为正整数,且n小于等于1000。


测试样例:


[11,13,10,5,12,21,3],7
 
 [12,21,12,12,21,-1,-1]
 
 class NextElement {
 public:
     vector<int> findNext(vector<int> A,int n) {
        //将该vector中元素全部置为-1
         vector<int>ve(n,-1);
         for(int i=0;i<n;i++)
         {
             for(int j=i+1;j<n;j++)
             {
                if(A[i]<A[j])
               {
                if(ve[i]==-1)
                  {
                     ve[i]=A[j]; 
                }else{
                    ve[i]=min(ve[i],A[j]);
                }


                }
             }
         }
         return ve;
     }
 };

举报

相关推荐

0 条评论