[Leetcode] 每日两题 2034 1974 -day80

2034. 股票价格波动

在这里插入图片描述

这个题关于最大最小值的输出 可以使用一个 大根堆和小跟堆来做,但是今天学到一个 SortedList 实在好用

对于更新 在 time 字典维护不同时间对于的price

同时维护一个最大时间,

soredlist 用来维护 现有的价钱的排序

from sortedcontainers import SortedList
class StockPrice:

    def __init__(self):
        self.lis = SortedList()
        self.time = {}
        self.now = 0

    def update(self, timestamp: int, price: int) -> None:
        if timestamp in self.time:
            self.lis.remove(self.time[timestamp])
        self.time[timestamp] = price
        self.lis.add(price)
        self.now = max(self.now,timestamp)


    def current(self) -> int:
        return self.time[self.now]

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

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


1974. 使用特殊打字机键入单词的最少时间

在这里插入图片描述

这个 判断 字母距离 上一个字母的距离 大于13则反过来走

class Solution:
    def minTimeToType(self, word: str) -> int:
        last = 'a'
        res = 0
        for i in word:
            now = abs(ord(i) -ord(last))  
            if now >13:
                now = 26-now
            res +=now+1 
            last = i
        return res 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值