diff --git a/src/main/java/com/cool/ling_cha_mount/stack/Num962.java b/src/main/java/com/cool/ling_cha_mount/stack/Num962.java new file mode 100644 index 0000000..3faf8ea --- /dev/null +++ b/src/main/java/com/cool/ling_cha_mount/stack/Num962.java @@ -0,0 +1,29 @@ +package com.cool.ling_cha_mount.stack; + +import org.junit.Test; + +import java.util.Deque; +import java.util.LinkedList; + +public class Num962 { + public int maxWidthRamp(int[] nums) { + Deque stack = new LinkedList<>(); + int res=0; + stack.push(0); + for (int i = 1; i < nums.length; i++) { + if (nums[i] < nums[stack.peek()]) { + stack.push(i); + } + } + for(int i=nums.length-1;i>=0;i--){ + while (!stack.isEmpty()&&nums[stack.peek()]<=nums[i]){ + res=Math.max(res,i-stack.pop()); + } + } + return res; + } + @Test + public void test(){ + maxWidthRamp(new int[]{6,0,8,2,1,5}); + } +}