当前位置: 首页 > news >正文

2023-10-07 LeetCode每日一题(股票价格跨度)

2023-10-07每日一题

一、题目编号

901. 股票价格跨度

二、题目链接

点击跳转到题目位置

三、题目描述

设计一个算法收集某些股票的每日报价,并返回该股票当日价格的 跨度 。

当日股票价格的 跨度 被定义为股票价格小于或等于今天价格的最大连续日数(从今天开始往回数,包括今天)。

  • 例如,如果未来 7 天股票的价格是 [100,80,60,70,60,75,85],那么股票跨度将是 [1,1,1,2,1,4,6] 。

实现 StockSpanner 类:

  • StockSpanner() 初始化类对象。
  • int next(int price) 给出今天的股价 price ,返回该股票当日价格的 跨度 。

示例:
在这里插入图片描述

四、解题代码

class StockSpanner {
public:StockSpanner() {this->stk.emplace(-1, INT_MAX);this->idx = -1;}int next(int price) {idx++;while (price >= stk.top().second) {stk.pop();}int ret = idx - stk.top().first;stk.emplace(idx, price);return ret;}private:stack<pair<int, int>> stk; int idx;
};

五、解题思路

(1) 单调栈

http://www.lryc.cn/news/186533.html

相关文章:

  • 聊聊分布式架构04——RPC通信原理
  • 维吉尼亚密码
  • ubuntu20.04挂载拓展盘保姆级流程
  • 顶顶通电话机器人接口对接开源ASR(语音识别)
  • windows消息机制
  • 整数划分——DP
  • Git切换用户常用命令
  • 一般香港服务器带宽选多大够用?(带宽计算方法)
  • vue中使用ali-oss上传文件到阿里云上
  • php实战案例记录(17)计算时间的函数及其示例说明
  • 基于Keil a51汇编 —— MPL 宏定义
  • Android 13 骁龙相机点击拍照流程分析(二)——点击拍照到存入相册
  • 常见算法-巴斯卡三角形(Pascal)
  • AI:09-基于深度学习的图像场景分类
  • uni-app:引入echarts(使用renderjs)
  • 使用wireshark解析ipsec esp包
  • linux如何删除最近操作的日志
  • android端MifareClassicTool
  • 设计模式 - 迭代器模式
  • Docker之Dockerfile搭建lnmp
  • 排序算法——选择排序
  • 【数据结构C/C++】双向链表的增删改查
  • Godot 添加Nuget 引用
  • IC工程师职场必备《经典Verilog100多个代码案例》(附下载)
  • springboot项目做成公共项目
  • RTC 时间、闹钟
  • 【yolo系列:yolov7训练添加spd-conv】
  • 面向对象设计-UML六种箭头含义
  • 一本没有任何数学公式的自然语言处理入门书
  • 【数据结构C/C++】多维数组的原理、访问方式以及作用