提高工业通信协议栈稳定性:ARM Compiler 5.06优化策略
2025/12/24 0:46:07
本题为简单题,目的是为了考察对于Queue(队列)的理解(数据结构)。
注:以下解法仅代表个人观点,并非唯一解法,仅供记录与参考!
题目如下所示:
代码解析(python):
# # @lc app=leetcode.cn id=933 lang=python3 # # [933] 最近的请求次数 # # @lc code=start class RecentCounter: def __init__(self): self.q = deque() #导入 collections.deque 后创建一个双端队列(deque) def ping(self, t: int) -> int: self.q.append(t) #将 t 添加到队列的末尾 # 将队列里所有“比当前时间 t 早了 3000 毫秒或更早”的时间点全部删掉,只保留“距离 t 不超过 3000 毫秒”的时间点 while self.q[0] < t - 3000: self.q.popleft() #当q.append(3002),则队列为[1, 100, 3001, 3002],即1 < 3002 - 3000 = 2成立,进入循环删除1,则队列变成 [100, 3001, 3002] return len(self.q)