From ef5f3e63784810bb936a9a4165748d687cf7ec57 Mon Sep 17 00:00:00 2001 From: Cool <747682928@qq.com> Date: Sun, 24 Nov 2024 20:38:49 +0800 Subject: [PATCH] =?UTF-8?q?2024/11/24=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/Num496.java | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 src/main/java/com/cool/ling_cha_mount/stack/Num496.java diff --git a/src/main/java/com/cool/ling_cha_mount/stack/Num496.java b/src/main/java/com/cool/ling_cha_mount/stack/Num496.java new file mode 100644 index 0000000..457f48d --- /dev/null +++ b/src/main/java/com/cool/ling_cha_mount/stack/Num496.java @@ -0,0 +1,22 @@ +package com.cool.ling_cha_mount.stack; + +import java.util.HashMap; +import java.util.Map; +import java.util.Stack; + +public class Num496 { + public int[] nextGreaterElement(int[] nums1, int[] nums2) { + Stack stack = new Stack<>(); + Map map = new HashMap<>(); + for (int j : nums2) { + while (!stack.isEmpty() && stack.peek() < j) { + map.put(stack.pop(), j); + } + stack.push(j); + } + for (int i = 0; i < nums1.length; i++) { + nums1[i] = map.getOrDefault(nums1[i], -1); + } + return nums1; + } +}