【队列】【实现构造函数和方法】Leetcode 903 最近的请求次数
2023-12-28 14:23:45
【队列相关】【实现构造函数和方法】Leetcode 903 最近的请求次数
---------------🎈🎈题目链接🎈🎈-------------------
解法1 利用列表的相关操作
1、新建类型为Queue<Integer>
,表示这是一个能够存储整数类型的队列
2、构造器函数用于初始化myqueue队列
3、调用ping方法,当前t减去队列顶部值,大于3000就弹出顶部值,满足小于3000后当前值入队,得到队列长度返回值
??列表相关的方法:
新建队列:Queue<Integer> myqueue = new LinkedList<>();
返回队列大小:myqueue.size()
返回队列:myqueue.peek()
队列头部弹出:myqueue.poll()
队列尾部插入:myqueue.add()
时间复杂度O(N)
空间复杂度O(N)
class RecentCounter {
Queue<Integer> myqueue;
// 构造器函数用于初始化myqueue队列
public RecentCounter() {
myqueue = new LinkedList<>();
}
// 调用ping方法,得到返回值
public int ping(int t) {
while(myqueue.size() > 0 && t-myqueue.peek() > 3000){
myqueue.poll();
}
myqueue.add(t);
return myqueue.size();
}
}
/**
* Your RecentCounter object will be instantiated and called as such:
* RecentCounter obj = new RecentCounter(); 实例化一个RecentCounter对象
* int param_1 = obj.ping(t);
*/
文章来源:https://blog.csdn.net/prince0520/article/details/135265898
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!