From 91e56f8727f7d5ef1ec5bd1da9944f89592fd196 Mon Sep 17 00:00:00 2001 From: Rui Yang <35053274+littlecry@users.noreply.github.com> Date: Tue, 10 Nov 2020 23:16:02 -0600 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 add comments --- .../\345\215\225\350\260\203\346\240\210.md" | 2 ++ 1 file changed, 2 insertions(+) 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 7853fc1..cd68be1 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" @@ -188,8 +188,10 @@ class Solution { Stack stack = new Stack<>(); int[] ans = new int[T.length]; for (int i = 0; i < T.length; i++) { + // 如果压栈之后不满足单调递减,弹出元素,直至保持单调性 while (!stack.isEmpty() && T[i] > T[stack.peek()]) { int index = stack.pop(); + // 被弹出的元素(T[index])都是小于当前的元素(T[i]),由于栈内元素单调递减,大于被弹出元素(index)的最近的就是当前元素(i) ans[index] = i - index; } stack.push(i); -- GitLab