Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Solution {
- public int[] nextGreaterElements(int[] nums) {
- int[] results = new int[nums.length];
- Deque<Integer> stack = new LinkedList<>();
- for (int i = 0; i < nums.length; ++i) {
- while (!stack.isEmpty() && nums[i] > nums[stack.peekLast()]) {
- results[stack.removeLast()] = nums[i];
- }
- stack.addLast(i);
- }
- for (int i = 0; i < nums.length; ++i) {
- if (stack.isEmpty()) break;
- while (!stack.isEmpty() && nums[i] > nums[stack.peekLast()]) {
- results[stack.removeLast()] = nums[i];
- }
- }
- while (!stack.isEmpty()) {
- results[stack.removeLast()] = -1;
- }
- return results;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement