From 44bfda06ef80dbf489de0faaa871a096b5ddaad2 Mon Sep 17 00:00:00 2001 From: Cool <747682928@qq.com> Date: Wed, 27 Nov 2024 19:40:35 +0800 Subject: [PATCH] =?UTF-8?q?2024/11/27=20=E7=81=B5=E8=8C=B6=E9=A2=98?= =?UTF-8?q?=E5=8D=95=20=E5=8D=95=E8=B0=83=E6=A0=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cool/ling_cha_mount/stack/Num962.java | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 src/main/java/com/cool/ling_cha_mount/stack/Num962.java 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}); + } +}