博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
739. Daily Temperatures(单调栈)
阅读量:4181 次
发布时间:2019-05-26

本文共 867 字,大约阅读时间需要 2 分钟。

题目:给出一个数组,对每个位置,在当前位置后面找出最近的比当前位置大的数,求出位置差。

思路:维护一个值单调递减的栈(栈中的元素是数组元素的下标),当前元素大于栈顶元素,将栈顶元素出栈,直到栈空或者当前元素小于栈顶元素为止。在结果数组中记录结果(当前下标减去栈顶元素)。更新当前元素。直到遍历所有元素。

例如 temperatures = [73, 74, 75, 71, 69, 72, 76, 73] .

下标            栈                     结果数组0               0                     0 0 0 0 0 0 0 01               1                     1 0 0 0 0 0 0 02               2                     1 1 0 0 0 0 0 03               2 3                   1 1 0 0 0 0 0 04               2 3 4                 1 1 0 0 0 0 0 05               2 5                   1 1 0 2 1 0 0 06               6                     1 1 4 2 1 1 0 07               6 7                   1 1 4 2 1 1 0 0

代码

class Solution {public:    vector
dailyTemperatures(vector
& temperatures) { stack
s; vector
v(temperatures.size(),0); for(int x=0;x

转载地址:http://tnrai.baihongyu.com/

你可能感兴趣的文章
SpringBoot多模块项目实践(Multi-Module)
查看>>
第一篇: 服务的注册与发现Eureka(Greenwich版)
查看>>
第二篇: 服务消费者(rest+ribbon)(Greenwich版本)
查看>>
第三篇: 服务消费者(Feign)(Greenwich版本)
查看>>
获取客户的真实IP地址
查看>>
第四篇: 熔断器(Ribbon+Feign)(Greenwich版本)
查看>>
Linux的常用命令(一)
查看>>
Linux的常用命令(二)
查看>>
第六篇: 分布式配置中心(Greenwich版本)
查看>>
SpringBoot | 配置logback-spring.xml
查看>>
SpringBoot | 第一章:构建第一个SpringBoot工程
查看>>
SpringBoot | 第二章:配置多环境以及上传文件
查看>>
Spring Data JPA |自定义非实体类的映射
查看>>
SpringBoot | 常用注解记录
查看>>
JavaBean对象转换EntityUtils工具类
查看>>
Maven常用命令
查看>>
SpringBoot | 运行报错,无法加载oracle连接驱动
查看>>
为什么阿里巴巴禁止在 foreach 循环里进行元素的 remove/add 操作
查看>>
AWS EC2如何从普通用户切换为root用户
查看>>
click方法不生效的
查看>>