有史以来第二长系统设计代码

来提每日一题 2024-09-30 12:38:53
北美求职 转码 每日一题 每天59秒拿下每日一题 LeetCode 创作灵感 近期找工作现状 程序员 国区每日一题今日思路: 模拟。本质上影响第k个人的买票时间是所有需要买更多票的人。那么只需要将时间分为两类,购买票数多于第k个人,和不超过第k个人。这里有一个小细节是下标位于k之后的人,判断条件为第k个人购买票数减一,因为在遍历时第k个人已经买了一张票。 国际站每日一题今日思路: Hash和双向链表。记录频率这一步比较简单,使用hash表。找到最大最小且在O(1)时间复杂度需要借助双向链表;因为更新操作对于频率的影响为1,且只会改变其左右两边的相对位置,双向链表符合更改左右两边。每次更新时,需要判断其更新频率后的一侧是否已经存在节点,若存在插入字符串,若不存在需要新建一个hash集合用于存储字符串,同时更新hash表的对应迭代器指向。双向链表头节点或尾节点对于最小和最大频率。看到这点个赞吧[喝奶茶R]

0 阅读:6
来提每日一题

来提每日一题

感谢大家的关注