代码编织梦想

目录

1. 堆

建堆

习题

E01. 堆排序

E02. 数组中第K大元素-Leetcode 215

E03. 数据流中第K大元素-Leetcode 703

E04. 数据流的中位数-Leetcode 295


1. 堆

以大顶堆为例,相对于之前的优先级队列,增加了堆化等方法

public class MaxHeap {
    int[] array;
    int size;

    public MaxHeap(int capacity) {
        this.array = new int[capacity];
    }

    /**
     * 获取堆顶元素
     *
     * @return 堆顶元素
     */

    public int peek() {
        return array[0];
    }

    /**
     * 删除堆顶元素
     *
     * @r

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_46013789/article/details/139213288

基于java+springboot+vue+elememt宠物用品商城系统设计实现-爱代码爱编程

基于JavaWeb开发的宠物用品商城系统 🍅 作者主页 网顺技术团队 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 文末获取源码联系方式 📝 🍅 查看下方微信号获取联系方式 承接各种定制系统 📝 🚀🚀🚀精彩系列推荐 👇🏻

java 虚方法表(虚函数)-爱代码爱编程

虚方法表 Java 中的虚方法表(Virtual Method Table, VMT)是实现动态方法分派和多态的重要机制。它帮助 Java 运行时系统(JVM)决定在继承体系中调用哪一个方法的具体实现。 什么是虚方法表? 虚方法表是一个类的内部数据结构,用于支持方法的动态绑定(即运行时多态)。 每个类在加载时会生成一个虚方法表,其中包含了类中所有虚

浅析synchronized锁升级的原理与实现 1-爱代码爱编程

    目录 背景 锁的用法  底层实现 原理分析 锁的状态 锁升级 锁升级过程 锁升级简要步骤  锁升级细化流程 背景 在多线程编程中,线程同步是一个关键的概念,它确保了多个线程对共享资源的安全访问。Java中的synchronized关键字是一种常用的线程同步机制,它不仅提供了互斥访问的功能,还具备锁升级

计算机毕业设计选题推荐-爱代码爱编程

✨作者主页:IT研究室✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑

javaweb(基于springboot开发)全总结(1)-爱代码爱编程

1.使用maven 我们在写Javaweb时候,maven在其中起到了十分关键的作用 1.maven给我们Java项目提供了一个pom.xml文件,当我们需要导入一些jar包时候,我们只需要在xml文件中写入相关的依赖,然后idea就会自动为我们联网下载 2.由于使用不同开发工具开发出来的略有不同,导致不能够互通,所以国际规定,使用maven创建的项

【计算机毕业设计】高校课堂教学管理系统-爱代码爱编程

摘要 首先,论文一开始便是清楚的论述了小程序的研究内容。其次,剖析系统需求分析,弄明白“做什么”,分析包括业务分析和业务流程的分析以及用例分析,更进一步明确系统的需求。然后在明白了小程序的需求基础上需要进一步地设计系统,主要包罗软件架构模式、整体功能模块、数据库设计。本项目软件架构选择B/S模式,总体功能模块运用自顶向下的分层思想。再然后就是实现

java 基于swing的随机点名_javaswing点名程序-爱代码爱编程

由于教学的原因,编写的一个随机点名程序,废话不多说,直接上代码: package org.example; import java.awt.Color; import java.awt.Font; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt

java基础:数据类型、命名规范-爱代码爱编程

1 变量名 1.1 变量名作用 在编码是可以可容易的找到我们要操作的变量。 在jvm运行时,是通过变量的序号来使用变量。 1.2 命名规范 Java中有很多的知识点都需要命名 ,如:变量, 方法,类,接口等等。 必须遵守的规范(语法规范,不遵守会报错) 只能使用 数字, 字母, _ , $ 4种组成 数字不能开头 不能

基于javaweb开发的javaspringboot+vue实现前后端分离房屋租赁系统-爱代码爱编程

基于JavaWeb开发的JavaSpringboot+Vue实现前后端分离房屋租赁系统 🍅 作者主页 网顺技术团队 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 文末获取源码联系方式 📝 🍅 查看下方微信号获取联系方式 承

mapstruct-爱代码爱编程

MapStruct-Java实体转换利器 MapStruct 概述MapStruct 使用例子UserDTOUserEntityUserDTOConverter ( mapstruct 接口)UserModel

java后端开发-爱代码爱编程

     🤹‍♀️潜意识起点:个人主页 🎙座右铭:得之坦然,失之淡然。 💎擅长领域:前端 是的,我需要您的: 🧡点赞❤️关注💙收藏💛 是我持续下去的动力!  专栏:Java   目录 一 .数据库准备  1.1 建数据库准备 1.2  建表准备 二 .查询数据库是不是有用 2.1 查询 三 .IDEA代码配置 3.1 构建

spring事务和事务传播机制(下)-爱代码爱编程

        我们上一篇文章学习了 @Transactional 的基本使用。接下来我们学习 @Transactional 注解的使用细节。 @Transactional 注解当中有下面三个常见属性: 1、rollbackFor:异常回滚属性。指定能够触发事务回滚的异常类型。可以指定多个异常类型 2、IsoIation:事务的隔离级别。默认值

log4j日志封装说明—slf4j对于log4j的日志封装-爱代码爱编程

日志是项目中必用的东西,日志产品里最普及应该就是log4j了。(logback这里暂不讨论。) 先看一下常用的log4j的用法,一般来说log4j都会配合slf4j或者common-logging使用,这里已slf4j为例。添加gradle依赖: dependencies { compile('log4j:log4j:1.2.17', 'org.sl