• 2024-10-23每日算法一练:剑指offer——数组篇(4)
    数据流中的中位数        中位数 是有序整数列表中的中间值。如果列表的大小是偶数,则没有中间值,中位数是两个中间值的平均值。例如,[2,3,4] 的中位数是 3[2,3] 的中位数是 (2+3)/2=2.5设计一个支持以下两种操作的数据结构:voidaddNum(intnum) -从数据
  • 2024-09-27题解 HZOJ 284 超市卖货 C/C++
    题目传送门:超市卖货-题目-OnlineJudge(haizeix.com)https://oj.haizeix.com/problem/284思路:每次寻找价格最高的商品,并尝试卖掉它:寻找未卖出商品的日期,优先锁定其保质期最后一天,若该日期已卖出则继续向前寻找能找到未卖出商品的日期时,收入增加,标记该日期代码实现:为
  • 2024-09-09算法与数据结构——堆
    堆堆(heap)是一种满足特定条件的完全二叉树,主要分为两种类型:小顶堆(minheap):任意节点的值≤其子节点的值大顶堆(maxheap):任意节点的值≥其子节点的值堆作为完全二叉树的一个特例,具有以下特性:最底层节点靠左填充,其他层的节点都被填满我们将二叉树的根节点称为“堆顶”,将
  • 2024-07-08数据结构第16节 最大堆
    最大堆是一种特殊的完全二叉树数据结构,其中每个父节点的键值都大于或等于其子节点的键值。在Java中,最大堆通常用于实现优先队列,堆排序算法,或者在需要快速访问最大元素的应用场景中。让我们通过一个具体的案例来说明最大堆的使用和实现:假设我们正在开发一个系统,用于实时分析
  • 2024-07-02LeetCode 857. Minimum Cost to Hire K Workers
    原题链接在这里:https://leetcode.com/problems/minimum-cost-to-hire-k-workers/description/题目:Thereare n workers.Youaregiventwointegerarrays quality and wage where quality[i] isthequalityofthe ith workerand wage[i] istheminimumwagee
  • 2024-06-22力扣-621. 任务调度器
    1.题目题目地址(621.任务调度器-力扣(LeetCode))https://leetcode.cn/problems/task-scheduler/题目描述给你一个用字符数组 tasks表示的CPU需要执行的任务列表,用字母A到Z表示,以及一个冷却时间n。每个周期或时间间隔允许完成一项任务。任务可以按任何顺序完成,但有一
  • 2024-05-06top k 问题 Java解决代码
    topk问题:从10亿个数中选出最大的1万个数,处理方式:用小顶堆,先用1万个数建立小顶堆,再把剩余数从小顶堆里过一遍,每次与堆顶元素比较,小顶堆的堆顶元素是最小的,如果比堆顶元素大就替换堆顶元素,重新生成小顶堆,继续比较直到10亿条数据比完,堆里剩下的就是最大的1万个数。如果是从大量元素
  • 2024-04-05堆火熠熠:燃烧吧,我们的数据结构之魂
    “堆蕴秩序:堆排序的诗篇与画卷”前置知识简要:堆堆(heap)是一种满足特定条件的完全二叉树,主要可分为两种类型,如图8-1所示。小顶堆(minheap):任意节点的值其子节点的值。大顶堆(maxheap):任意节点的值其子节点的值。`/*初始化堆*///初始化小顶堆priority_queue<int,
  • 2024-02-24
    堆堆就像是山川的峰峦,它们层叠起伏、形态各异。每一座山峰都有其高低之分,而最高的山峰总是最先映入眼帘。8.1堆「堆heap」是一种满足特定条件的完全二叉树,主要可分为图8‑1所示的两种类型。‧「大顶堆maxheap」:任意节点的值≥其子节点的值。‧「小顶堆minheap」
  • 2024-01-30对顶堆
    对顶堆是由一个大顶堆和一个小顶堆组成的数据结构,用来处理动态求解一个序列中第k大或者第k小的数据结构。其中大顶堆在小顶堆的下面,为什么这样设计呢?因为如果小顶堆的堆顶大于大顶堆的堆顶,那么对于小顶堆中的所有元素就大于大顶堆中的所有元素了。原理很简单:根据数学中不等式
  • 2024-01-30牛客周赛 Round 29
    C题:用桶处理字符串重排小红拿到了一个字符串,其中一定包含连续子串"xiao",和连续子串"hong"。请你将字符串重排,使得该字符串包含"xiaohong"的连续子串。较简单的做法:遍历字符串,给每个字符放到相应的桶中,然后先先输出目标字符串xiaohong,同时对桶进行相对应的调整。最后再按任意顺
  • 2023-09-02c++ 堆排序
    堆排序主要分为两个函数:1、构建堆2、元素调整#include<iostream>usingnamespacestd;voidmaxHeap(inttree[],intn,inti){ if(i>=n) return; intlchild=i*2+1; intrchild=i*2+2; intmax=i; if(lchild<n&&tree[lchild]>t
  • 2023-08-24【剑指Offer】63、数据流中的中位数
    【剑指Offer】63、数据流中的中位数题目描述:如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。我们使用Insert()方法读取数据流,使用Ge
  • 2023-06-01堆栈算法模板
     动态维护中位数一般都是用双堆解决–同理:动态维护第K大数295.数据流的中位数难度困难800收藏分享切换为英文接收动态反馈中位数是有序整数列表中的中间值。如果列表的大小是偶数,则没有中间值,中位数是两个中间值的平均值。例如 arr=[2,3,4] 的中位数是 3 。例如 arr=
  • 2023-01-29Kth Smallest Element in a Sorted Matrix
    classSolution{//14ms,fasterthan55.67%publicintkthSmallest(int[][]matrix,intk){intm=matrix.le
  • 2022-12-28Windows下Redis中RedisQFork位置调整
     redis-server.exeredis.windows.conf使用上面命令启动redis服务的时候报了以下错误信息: ​​The Windows versionof Redis allocatesamemorymappedheap for 
  • 2022-12-01数据结构-堆
    typedefenum{false,true}bool;typedefintElementType;typedefstructHNode*Heap;structHNode{ElementType*Data;intSize;intCapacity;};
  • 2022-11-01剑指offer——数据流中的中位数
    题目描述:如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数
  • 2022-10-07Java 面试题 10 - 海量数据处理算法
    大数据处理中的分治思想哈希映射:如果数据太大,不能全部放入内存中,就可以利用映射函数将每条数据映射到一个小文件中,例如%1000可以将大文件映射成1000个小文件。相同的
  • 2022-10-02358 Rearrange String k Distance Apart 每个相同字母都要相距为k 767. Reorganize String k = 2
    Givenastring s andaninteger k,rearrange s suchthatthesamecharactersare atleast distance k fromeachother.Ifitisnotpossibletorearran