Monotonic Stack Last renew: October 30, 2022 am monotonic stack单调栈,能够解决的问题很单一,就是下一个更大,或者下一个更小之类的 模版 123456789101112131415161718int[] nextGreaterElement(int[] nums) { int n = nums.length; // 存放答案的数组 int[] res = new int[n]; Stack<Integer> s = new Stack<>(); // 倒着往栈里放 for (int i = n - 1; i >= 0; i--) { // 判定个子高矮 while (!s.isEmpty() && s.peek() <= nums[i]) { // 矮个起开,反正也被挡着了。。。 s.pop(); } // nums[i] 身后的更大元素 res[i] = s.isEmpty() ? -1 : s.peek(); s.push(nums[i]); } return res;} 很多东西只要对模版微调就可以解决 Programming Foundations of Graph Theory Previous ふろちゃでぼっと Next