经典指数          
原因
2801
浏览数
0
收藏数
 

现在有一个数组,请找出数组中每个元素的后面比它大的最小的元素,若不存在则为-1。 给定一个int数组A及数组的大小n,请返回每个元素所求的值组成的数组。保证A中元素为正整数,且n小于等于1000。 测试样例: [11,13,10,5,12,21,3],7 [12,21,12,12,21,-1,-1]

     举报   纠错  
 
切换
1 个答案

class NextElement {

public:

vector findNext(vector A, int n) {

vector dp(n,-1);

int i,j;

for(i=n-2;i>=0;--i){

for(j=i+1;j

if(A[i]

if(dp[i] == -1){

dp[i] = A[j];

}else{

dp[i] = min(dp[i],A[j]);

}

}

}

}

return dp;

}

};

 
切换
撰写答案