码迷,mamicode.com
首页 > 其他好文 > 详细

LeetCode #1629. Slowest Key

时间:2020-12-08 12:45:24      阅读:4      评论:0      收藏:0      [点我收藏+]

标签:sel   res   ref   int   range   设置   时间   else   com   

题目

1629. Slowest Key


解题方法

遍历数组寻找最长持续时间的键即可,需要注意这里持续时间最长不是累计持续时间,而是每次按下的持续时间。我第一次做的时候以为是累计持续时间,设置了一个字典来统计持续时间了,如果题目改成累计时间用这种方法可以在时空复杂度O(n)内实现。
时间复杂度:O(n)
空间复杂度:O(1)


代码

class Solution:
    def slowestKey(self, releaseTimes: List[int], keysPressed: str) -> str:
        maxkey = keysPressed[0]
        maxtime = releaseTimes[0]
        for i in range(1, len(keysPressed)):
            if releaseTimes[i] - releaseTimes[i-1] > maxtime:
                maxtime = releaseTimes[i] - releaseTimes[i-1]
                maxkey = keysPressed[i]
            elif releaseTimes[i] - releaseTimes[i-1] == maxtime:
                maxkey = max(maxkey, keysPressed[i])
            else: pass
        return maxkey

LeetCode #1629. Slowest Key

标签:sel   res   ref   int   range   设置   时间   else   com   

原文地址:https://www.cnblogs.com/RatsCommander/p/14083982.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!