//这道题没有编出来,但是思想很好,首先倒序将前面的大数找出来,存入栈中,再进行第二次比较,得出最终结果
class Solution {
public int[] nextGreaterElements(int[] nums) {int[] res = new int[nums.length];
Stack<Integer> stack = new Stack<>();
for (int i = 2 * nums.length - 1; i >= 0; --i) {
while (!stack.empty() && nums[stack.peek()] <= nums[i % nums.length]) {
stack.pop();
}
res[i % nums.length] = stack.empty() ? -1 : nums[stack.peek()];
stack.push(i % nums.length);
}
return res;
}
}