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

相关推荐
potato_may13 小时前
C++ 发展简史与核心语法入门
开发语言·c++·算法
Liangwei Lin13 小时前
洛谷 P1443 马的遍历
数据结构·算法
老鱼说AI13 小时前
算法基础教学第二步:数组(超级详细原理级别讲解)
数据结构·神经网络·算法·链表
rabbit_pro14 小时前
Java 文件上传到服务器本地存储
java·服务器·python
小白程序员成长日记14 小时前
2025.12.01 力扣每日一题
算法·leetcode·职场和发展
爱装代码的小瓶子14 小时前
【cpp知识铺子】map和set的前身-二叉搜索树
c++·算法
serve the people14 小时前
PQ+IVF组合解决海量向量内存占用高和检索慢的问题
人工智能·python
on_pluto_14 小时前
【debug】解决 5070ti 与 pytorch 版本不兼容的问题
人工智能·pytorch·python
嫂子的姐夫14 小时前
02-多线程
爬虫·python·多线程·并发爬虫·基础爬虫
TL滕14 小时前
从0开始学算法——第四天(练点题吧)
数据结构·笔记·学习·算法