题目描述
题目描述
题解
题解
提交记录
提交记录
中等

设计一种算法,收集某支股票的每日价格报价,并返回该股票当前日期的 价格跨度

股票在某一天的 价格跨度 是指:从当天开始向前,连续的股票价格小于或等于当天价格的最大天数。

  • 例如,如果股票过去四天的价格为 [7,2,1,2],今天的价格为 2,那么今天的价格跨度为 3,因为从今天开始向前,有连续 3 天的股票价格小于或等于 2。
  • 同样,如果股票过去四天的价格为 [7,34,1,2],今天的价格为 8,那么今天的价格跨度为 3,因为从今天开始向前,有连续 3 天的股票价格小于或等于 8。

实现 StockSpanner 类:

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

 

示例 1:

输入
["StockSpanner", "next", "next", "next", "next", "next", "next", "next"]
[[], [100], [80], [60], [70], [60], [75], [85]]
输出
[null, 1, 1, 1, 2, 1, 4, 6]

解释
StockSpanner stockSpanner = new StockSpanner();
stockSpanner.next(100); // 返回 1
stockSpanner.next(80);  // 返回 1
stockSpanner.next(60);  // 返回 1
stockSpanner.next(70);  // 返回 2
stockSpanner.next(60);  // 返回 1
stockSpanner.next(75);  // 返回 4,因为包含今天在内的最后 4 天的价格都小于或等于今天的价格 75。
stockSpanner.next(85);  // 返回 6

 

约束条件:

  • 1 <= price <= 105
  • 最多会调用 104next
 
代码
代码
测试用例
测试用例
测试结果
测试结果