Maximum Width Ramp LeetCode solution in Java
1class Solution {2public int maxWidthRamp(int[] nums) {3Stack<Integer> s = new Stack<>();4int res = 0;5for (int i = 0; i < nums.length; i++) {6if (!s.isEmpty() && nums[s.peek()] <= nums[i]) {7res = Math.max(res, i - s.peek());8continue;9}10s.push(i);11}12int i = nums.length - 1;13while (!s.isEmpty() && i >= 0) {14if (nums[s.peek()] <= nums[i]) {15res = Math.max(res, i - s.peek());16s.pop();17} else {18i--;19}20}21return res;22}23}