谢谢各位大神的出谋划策,尤其是@特仑苏先生 ,下面我给出代码:
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] +" ");
		}
	}
}