From 5a8a7a37f76bb48903a8b592fa4d0835895af354 Mon Sep 17 00:00:00 2001 From: JiangangZhao <45865080+JiangangZhao@users.noreply.github.com> Date: Fri, 13 Nov 2020 15:38:33 +0800 Subject: [PATCH] =?UTF-8?q?Update=20=E5=8D=95=E8=B0=83=E6=A0=88.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 【503.下一个更大元素II】【java】 --- .../\345\215\225\350\260\203\346\240\210.md" | 36 ++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git "a/\346\225\260\346\215\256\347\273\223\346\236\204\347\263\273\345\210\227/\345\215\225\350\260\203\346\240\210.md" "b/\346\225\260\346\215\256\347\273\223\346\236\204\347\263\273\345\210\227/\345\215\225\350\260\203\346\240\210.md" index fca0ca8..abd11d6 100644 --- "a/\346\225\260\346\215\256\347\273\223\346\236\204\347\263\273\345\210\227/\345\215\225\350\260\203\346\240\210.md" +++ "b/\346\225\260\346\215\256\347\273\223\346\236\204\347\263\273\345\210\227/\345\215\225\350\260\203\346\240\210.md" @@ -181,4 +181,38 @@ vector nextGreaterElements(vector& nums) {

-======其他语言代码====== \ No newline at end of file +======其他语言代码====== + +【503.下一个更大元素II】【java】 +```java +class Solution { + public int[] nextGreaterElements(int[] nums) { + //数组长度 + int n = nums.length; + //逻辑拼接,数组长度翻倍 + int len = n*2 - 1; + //存储结果数组 + int[] res = new int[n]; + //存放索引,不是元素 + LinkedList s = new LinkedList<>(); + //从前往后遍历 + for (int i = 0; i < len; ++i) { + //索引要取模 + int val = nums[i % n]; + //当前元素比栈顶元素大,即是栈顶元素的下一个更大的元素 + while (!s.isEmpty() && val > nums[s.peek()]) { + res[s.pop()] = val; + } + //i