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

相关推荐
炽烈小老头8 小时前
【 每天学习一点算法 2026/05/14】单词接龙
学习·算法
yexuhgu8 小时前
Redis怎样节省海量状态存储内存_利用Bitmap结构替代传统String存储
jvm·数据库·python
极光代码工作室8 小时前
基于大数据的交通流量分析系统
大数据·hadoop·python·数据分析·数据可视化
yxc_inspire8 小时前
24年CCPC山东邀请赛补题
学习·算法
2301_779622419 小时前
如何修复SQL嵌套查询死锁_调整锁粒度与执行顺序
jvm·数据库·python
iAm_Ike9 小时前
HTML怎么显示灵感便签关联项目_HTML拖拽绑定项目入口【详解】
jvm·数据库·python
2301_809204709 小时前
SQL如何实现实时数据的滑动窗口分析_SQL性能调优
jvm·数据库·python
木子墨5169 小时前
工程算法实战 | 数据库ORDER BY的底层:内存排序 → 外部归并 → 索引优化
数据结构·数据库·python·sql·算法·动态规划
yexuhgu9 小时前
如何在 JavaScript 循环中动态构建 HTML 字符串
jvm·数据库·python
wang3zc9 小时前
使用BERTopic对名言数据集进行批量主题建模的完整实践指南
jvm·数据库·python