谢谢各位大神的出谋划策,尤其是
@特仑苏先生 ,下面我给出代码:
import java.util.Stack;
public class BiWoXiaoZuiJin {
public static int[] findArray(int[] array) {
int[] res = new int[array.length];
Stack<Integer> inc = new Stack<>();
for(int i=0; i<array.length; i++) {
while(!inc.isEmpty()) {
if(inc.peek() >= array[i]) {
inc.pop();
} else {
res[i] = inc.peek();
inc.push(array[i]);
break;
}
}
if(inc.isEmpty()) {
inc.push(array[i]);
res[i] = -1;
}
}
return res;
}
public static void main(String[] args) {
int[] arr = {3,6,1,4,2,3,7,5,8};
int[] res = findArray(arr);
for(int i=0; i<res.length; i++) {
System.out.print(res[i] +" ");
}
}
}