python学习笔记1-SortedList的使用

题目链接

  • SortedList增删改查的复杂度均为 O ( l o g n ) O(logn) O(logn)
  • 四种操作分别为:
    add, remove/discard/pop(弹出某个索引的元素,默认为最大值), count/index
python 复制代码
from sortedcontainers import SortedList

class StockPrice:

    def __init__(self):
        self.price = SortedList()
        self.timePriceMap = {}
        self.maxTimestamp = 0

    def update(self, timestamp: int, price: int) -> None:
        if timestamp in self.timePriceMap:
            self.price.discard(self.timePriceMap[timestamp]) # 删除原本的时间
        self.price.add(price)
        self.timePriceMap[timestamp] = price
        self.maxTimestamp = max(self.maxTimestamp, timestamp)

    def current(self) -> int:
        return self.timePriceMap[self.maxTimestamp]

    def maximum(self) -> int:
        return self.price[-1]

    def minimum(self) -> int:
        return self.price[0]



# Your StockPrice object will be instantiated and called as such:
# obj = StockPrice()
# obj.update(timestamp,price)
# param_2 = obj.current()
# param_3 = obj.maximum()
# param_4 = obj.minimum()

参考

https://www.cnblogs.com/baiyutang7/p/16541848.html

https://zhuanlan.zhihu.com/p/545601213

相关推荐
甄心爱学习6 分钟前
KMP算法(小白理解)
开发语言·python·算法
杭州杭州杭州11 分钟前
数据结构与算法(5)---二叉树
数据结构
万象.16 分钟前
redis数据结构list的基本指令
数据结构·redis·list
培培说证20 分钟前
2026 高职计算机专业考证选择哪个更实用?
python
zephyr0524 分钟前
C++ STL unordered_set 与 unordered_map 完全指南
开发语言·数据结构·c++
wen__xvn28 分钟前
牛客周赛 Round 127
算法
大锦终30 分钟前
dfs解决FloodFill 算法
c++·算法·深度优先
ASD123asfadxv36 分钟前
LCD屏幕表面缺陷检测系统凹陷识别与定位技术分析
python
橘颂TA42 分钟前
【剑斩OFFER】算法的暴力美学——LeetCode 200 题:岛屿数量
算法·leetcode·职场和发展
Ulyanov1 小时前
大规模战场数据与推演:性能优化与多视图布局实战
开发语言·python·性能优化·tkinter·pyvista·gui开发