剑指 Offer 59 - II. 队列的最大值

2023-05-16

剑指 Offer 59 - II. 队列的最大值

请定义一个队列并实现函数 max_value 得到队列里的最大值,要求函数max_value、push_back 和 pop_front 的均摊时间复杂度都是O(1)。

若队列为空,pop_front 和 max_value 需要返回 -1

示例 1:

输入: 
["MaxQueue","push_back","push_back","max_value","pop_front","max_value"]
[[],[1],[2],[],[],[]]
输出: [null,null,null,2,1,2]

示例 2:

输入: 
["MaxQueue","pop_front","max_value"]
[[],[],[]]
输出: [null,-1,-1]

解法1:  (不知道 这种方法  均摊时间复杂度是否为O(1), 哪位大佬帮忙 指教下)

class MaxQueue:

    def __init__(self):
        self.queue = []
    def max_value(self) -> int:
        if self.queue:
            return max(self.queue)  # 寻找最大值
        return -1
    def push_back(self, value: int) -> None:
        # print(value)
        self.queue.append(value)

    def pop_front(self) -> int:
        if self.queue:
            pop_value = self.queue[0]
            self.queue = self.queue[1:]
            return pop_value
        return -1

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

剑指 Offer 59 - II. 队列的最大值 的相关文章

  • 通关剑指 Offer——剑指 Offer II 055. 二叉搜索树迭代器

    1 题目描述 剑指 Offer II 055 二叉搜索树迭代器 实现一个二叉搜索树迭代器类BSTIterator xff0c 表示一个按中序遍历二叉搜索树 xff08 BST xff09 的迭代器 xff1a BSTIterator Tre
  • 剑指 Offer 03. 数组中重复的数字

    https leetcode cn com problems shu zu zhong zhong fu de shu zi lcof span class token keyword class span span class token
  • 我阿里P7了解到的Android面试的一些小内幕!已拿offer

    前言 这些题目是网友去百度 小米 乐视 美团 58 猎豹 360 新浪 搜狐等一线互联网公司面试被问到的题目 熟悉本文中列出的知识点会大大增加通过前两轮技术面试的几率 欢迎一线公司员工以及网友提交面试题库 xff0c 欢迎留言 网上的都是按
  • 【剑指offer】链表找环的入口

    给一个链表 xff0c 若其中包含环 xff0c 请找出该链表的环的入口结点 xff0c 否则 xff0c 输出null 解题思路 xff1a 在链表判环的基础上进行优化 追击问题 xff0c 一快一慢可以再环中相遇 p1 61 p1 ne
  • [剑指offer] 连续子数组最大和

    题目 xff1a 对于一个有正有负的整数数组 xff0c 请找出总和最大的连续数列 给定一个 span class hljs keyword int span 数组A和数组大小n xff0c 请返回最大的连续数列的和 1 思路 xff1a
  • 剑指 Offer 57. 和为s的两个数字

    题目 输入一个递增排序的数组和一个数字s xff0c 在数组中查找两个数 xff0c 使得它们的和正好是s 如果有多对数字的和等于s xff0c 则输出任意一对即可 示例 1 xff1a 输入 xff1a nums 61 2 7 11 15
  • 【树】剑指 Offer 55 - I. 二叉树的深度

    题目 输入一棵二叉树的根节点 xff0c 求该树的深度 从根节点到叶节点依次经过的节点 xff08 含根 叶节点 xff09 形成树的一条路径 xff0c 最长路径的长度为树的深度 例如 xff1a 给定二叉树 span class tok
  • 【二叉树】剑指offer 8 二叉树的下一个结点

    描述 给定一个二叉树其中的一个结点 xff0c 请找出中序遍历顺序的下一个结点并且返回 注意 xff0c 树中的结点不仅包含左右子结点 xff0c 同时包含指向父结点的next指针 下图为一棵有9个节点的二叉树 树中从父节点指向子节点的指针
  • 【剑指offer】二叉搜索树的第k个节点

    利用二叉搜索树的特点 xff0c 左边节点的值 lt 中间节点的值 lt 右边节点的值 xff0c 对二叉树进行中序遍历即可 通过res保存值 xff0c count记录遍历了多少个 中序遍历是在中间输出节点 xff0c 所以count在中
  • 【剑指offer】二叉搜索树与双向链表

    双向链表从左到右的顺序很明显就是中序遍历二叉树输出的顺序 xff0c 因此核心思想就是使用中序遍历 xff0c 在遍历过程中调整指针的指向 需要用到两个全局变量 xff08 递归的题目不用吝啬全局变量 xff09 xff0c c u r N
  • 刷完 LeetCode 是什么水平?能拿到什么水平的 offer?

    链接 xff1a https www zhihu com question 32019460 编辑 xff1a 深度学习与计算机视觉 声明 xff1a 仅做学术分享 xff0c 侵删 刷题是我们一贯的学习方式 xff0c 但是学霸和学渣的区
  • 剑指Offer-面试算法题

    1 二分查找 xff08 递归与非递归实现 xff09 基本算法 xff0c 掌握好循环条件 package com company Description 二分查找 xff08 递归与非递归实现 xff09 Created by Wanb
  • 有了这份程序员面试指南,你离大厂Offer还远吗?| 附推荐书籍

    点击上方蓝色字体 xff0c 关注我 一个在阿里云打工的清华学渣 图by 石头 64 长白山 关于作者 xff1a 程序猿石头 ID tangleithu xff0c 现任阿里巴巴技术专家 xff0c 清华学渣 xff0c 前大疆后端 Le
  • 剑指offer

    目录 第2章 面试需要的基础知识 2 3 数据结构 2 3 1 数组 xff1a 二维数组中的查找 2 3 2 字符串 xff1a 替换空格 2 3 3 链表 xff1a 从尾到头打印链表 2 3 4 树 xff1a 重建二叉树 2 3 5
  • 一位程序员妹纸讲述她是如何拿到美团offer的?

    作者 xff1a 只爱羽毛球的程序媛 来源 xff1a http t cn EaXy17r 美团 xff0c 我是在拉勾网上投的简历 xff0c 之前也投过一次 xff0c 简历都没通过删选 xff0c 后来让学姐帮我改了一下简历 xff0
  • 裸辞3个月扛不住后,随便接了offer更惨!

    最近发现年底找工作的人不少 xff0c 部门里就2个hc xff0c 一周能收2000 43 简历 xff0c 这比例有点 过分 了 虽说大部分是年底先看看机会试试水 xff0c 准备年后冲击的 xff0c 但看简历里也有不少中间裸辞的 x
  • 代码随想录day3 leetcode203,707,206,剑指offer 76题,62题

    链表基础知识 单链表的定义 单链表 struct ListNode int val 节点上存储的元素 ListNode next 指向下一个节点的指针 ListNode int x val x next NULL 节点的构造函数 不定义构造
  • 【LeetCode】剑指 Offer 59. 队列的最大值 p288 -- Java Version

    1 题目介绍 xff08 59 队列的最大值 xff09 面试题59 xff1a 队列的最大值 xff0c 一共分为两小题 xff1a 题目一 xff1a 滑动窗口的最大值题目二 xff1a 队列的最大值 2 题目1 xff1a 滑动窗口的
  • 【LeetCode】剑指 Offer 63. 股票的最大利润 p304 -- Java Version

    题目链接 xff1a https leetcode cn problems gu piao de zui da li run lcof 1 题目介绍 xff08 63 股票的最大利润 xff09 假设把某股票的价格按照时间先后顺序存储在数组
  • 【LeetCode】剑指 Offer 68. 二叉树中两个节点的最低公共祖先 p326 -- Java Version

    1 题目介绍 xff08 68 二叉树中两个节点的最低公共祖先 xff09 面试题68 xff1a 二叉树中两个节点的最低公共祖先 xff0c 一共分为两小题 xff1a 题目一 xff1a 二叉搜索树的最近公共祖先题目二 xff1a 二叉

随机推荐

  • SR04声波传感器原理详解及其Arduino编程——人人都能玩硬件

    通过前两篇文章 xff0c 我们已经熟悉了Arduino的基本GPIO编程和PC与Arduino的串口通信 接下来我们将开始一边学习各种传感器操作 xff0c 一边深入学习Arduino编程 再开始编程之前 xff0c 首先我们需要熟悉SR
  • 从UV位置图获得3D人脸

    1 这部分主要写从UV位置图获得3D人脸 xff0c 并不包括如何产生UV位置图 我已经获取一张图片的UV位置图 xff0c 如下图 xff1a xff08 a 裁剪后的人脸区域 xff09 xff08 b UV位置图 xff08 仅用来展
  • Ubuntu matplotlib 中文乱码问题

    1 下载字体 Microsoft YaHei 放到 matplotlib库文件夹字体下 lib python3 6 site packages matplotlib mpl data fonts ttf 自己的机器上路径 自己更改 字体下载
  • faster R-CNN中anchors 的生成过程代码

    import numpy as np def whctrs anchor 34 34 34 将 anchor 四个坐标的形式 转化成 宽 xff0c 高 xff0c 中心点横坐标 xff0c 中心点纵坐标 的形式 Return width
  • 5461. 仅含 1 的子串数

    给你一个二进制字符串 s xff08 仅由 39 0 39 和 39 1 39 组成的字符串 xff09 返回所有字符都为 1 的子字符串的数目 由于答案可能很大 xff0c 请你将它对 10 9 43 7 取模后返回 示例 1 xff1a
  • print end=“lr“

    print 34 epoch 34 format i end 61 34 r 34
  • python 调试 PDB

    https aistudio baidu com aistudio projectdetail 69987
  • pcl求取三维模型每个点的曲率以及法向量

    转载 xff1a http blog csdn net lming 08 article details 18360329 做个笔记 xff0c 写得很不错
  • 3D人脸重建: BFM结合表情模型

    MATLAB代码 xff1a addpath genpath pwd gt model 载入原始的BFM模型 load 39 raw 01 MorphableModel mat 39 载入3dffa中 BFM信息 load 39 3ddfa
  • 构建副对角线全为1的矩阵,

    突然用到 副对角线 全为1的矩阵 xff0c 不知道怎么调用numpy xff0c 自己写了一个 xff1a import numpy as np 副对角线 全为 1 def get subdiag n value ar 61 for i
  • day1: 357. 计算各个位数不同的数字个数

    给定一个非负整数 n xff0c 计算各位数字都不同的数字 x 的个数 xff0c 其中 0 x lt 10n 示例 输入 2 输出 91 解释 答案应为除去 11 22 33 44 55 66 77 88 99 外 xff0c 在 0 1
  • day1: 二叉树

    1 二叉树的层序遍历 给你一个二叉树 xff0c 请你返回其按 层序遍历 得到的节点值 xff08 即逐层地 xff0c 从左到右访问所有节点 xff09 示例 xff1a 二叉树 xff1a 3 9 20 null null 15 7 3
  • 求正整数的平方根

    34 34 34 求正整数的平方根 二分查找 34 34 34 def sqrt val t if val lt 0 or t lt 0 return 0 left 61 0 right 61 val mid 61 left 43 righ
  • 对BN的理解

    BN原理与使用过程详解 内部协变量偏移 Internal Covariate Shift 和批归一化 Batch Normalization 对于BN层的理解 关于BN防止过拟合的分析 BN Batch Normalization 原理与使
  • 感受野的计算方法

    卷积神经网络基础题 如何计算多层卷积 池化网络每一层的感受野 Receptive Field
  • day2:215. 数组中的第K个最大元素 快速排序 python代码

    34 34 34 快速排序 思想 xff1a 基本思想是 xff1a 通过一趟排序将要排序的数据分割成独立的两部分 xff0c 其中一部分的所有数据都比另外一部分的所有数据都要小 xff0c 然后再按此方法对这两部分数据分别进行快速排序 x
  • 梯度消失和梯度爆炸原因及其解决方案

    梯度消失和梯度爆炸原因及其解决方案
  • day3: 剑指 Offer 48. 最长不含重复字符的子字符串

    剑指 Offer 48 最长不含重复字符的子字符串 请从字符串中找出一个最长的不包含重复字符的子字符串 xff0c 计算该最长子字符串的长度 示例 1 输入 34 abcabcbb 34 输出 3 解释 因为无重复字符的最长子串是 34 a
  • idea中java版本设置

    1 打开file gt Project structure gt project Settings gt Project gt Project SDK中设置 2 设置IDEA本身的jdk版本 打开file gt settings gt ja
  • 剑指 Offer 59 - II. 队列的最大值

    剑指 Offer 59 II 队列的最大值 请定义一个队列并实现函数 max value 得到队列里的最大值 xff0c 要求函数max value push back 和 pop front 的均摊时间复杂度都是O 1 若队列为空 xff