单调栈:
下一个更大元素。

题目意思如图所示:
单调栈图解:

- class Solution {
- public int[] nextGreaterElement(int[] nums1, int[] nums2) {
- Stack
stack=new Stack<>(); - int res[]=new int[nums2.length];
- int ans[]=new int[nums1.length];
- //从后往前寻找某一元素的下一个比它大的元素。只要看栈顶元素即可。这是一个单调栈
- for(int i=nums2.length-1;i>=0;i--)
- {
- while(!stack.isEmpty()&&nums2[i]>=stack.peek())
- {
- stack.pop();
- }
- res[i]=stack.isEmpty()?-1:stack.peek();
- stack.push(nums2[i]);
- }
- for(int i=0;i
- {
- for(int j=0;j
- {
- if(nums1[i]==nums2[j])
- {
- ans[i]=res[j];
- break;
- }
- }
- }
- return ans;
- }
- }
每日温度:

- class Solution {
- public int[] dailyTemperatures(int[] temperatures) {
- Stack
stack=new Stack<>(); - int res[]=new int[temperatures.length];
- int ans[]=new int[temperatures.length];
- for(int i=temperatures.length-1;i>=0;i--)
- {
- while(!stack.isEmpty()&&temperatures[i]>=temperatures[stack.peek()])
- {
- stack.pop();
- }
- res[i]=stack.isEmpty()?0:stack.peek();
- stack.push(i);
- }
- for(int i=0;i
- {
- ans[i]=(res[i]-i)>0?res[i]-i:0;
- }
- return ans;
- }
- }
-
相关阅读:
【vue3+ts】项目初始化
RabbitMQ(四)交换机Exchanges
02-Go语言基础变量和常量
ThinkPHP5远程代码执行高危漏洞
使用线程池的10个坑
文件上传之图片码混淆绕过(upload的16,17关)
K_A08_004 基于 STM32等单片机驱动MX1919模块按键控制直流电机正反转加减速启停
JFX11+Maven+IDEA 发布跨平台应用的完美解决方案
闭关之 Vulkan 应用开发指南笔记(一):概述、内存和资源
【动态规划】dp 路径问题(不同路径、路径最小和、地下城游戏...)
-
原文地址:https://blog.csdn.net/m0_71385141/article/details/132782258