75、堆-前K个高频元素

news2025/1/12 8:45:07

思路

这道题还是使用优先队列,是要大根堆,然后创建一个类,成员变量值和次数。大根堆基于次数排序。前k个就拿出前k的类的值即可。代码如下:

class Solution {
    public int[] topKFrequent(int[] nums, int k) {
        if (nums == null || nums.length == 0 || k < 1 || k > nums.length) {
            return null;
        }
        int[] ans = new int[k];
        PriorityQueue<Info> priorityQueue = new PriorityQueue<>((o1, o2) -> o2.times - o1.times);
        Map<Integer, Integer> map = new HashMap<>();
        for (int num : nums) {
            if (map.containsKey(num)) {
                map.put(num, map.get(num) + 1);
            } else {
                map.put(num, 1);
            }
        }
        map.forEach((value, times) -> {
            Info info = new Info();
            info.times = times;
            info.value = value;
            priorityQueue.add(info);
        });

        for (int i = 0; i < k; i++) {
           ans[i] = priorityQueue.poll().value;
        }
        return ans;
    }

    class Info {
        public int times;
        public int value;

        public Info() {
        }
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1635665.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

半导体机台文件导出,如何实现统一管理减轻运维压力?

半导体机台在半导体制造过程中会产生多种数据&#xff0c;这些数据对于设备的运行、监控、优化和故障诊断等方面都具有重要意义。以下是半导体机台可能产生的一些主要数据类型&#xff1a; 工艺控制数据&#xff1a;这包括在制造过程中的各个工艺步骤&#xff08;如光刻、蚀刻、…

垃圾中转站远程监控运维管理系统解决方案

在城市环卫体系中&#xff0c;垃圾中转站作为连接居民区与末端处理设施的关键节点&#xff0c;其高效稳定运行对于保障城市环境清洁、推动垃圾分类与资源化利用具有重要意义。然而&#xff0c;传统的管理模式往往存在实时监控不足、运维效率低下等问题。 一、设计理念 1. 实时…

【派兹互连·SailWind】美国瞄准“小华为”

有“小华为”之称的海能达遭遇了来自美国方面的压力。 近日&#xff0c;海能达紧急发公告称&#xff0c;公司收到美国法院的判令&#xff0c;临时被禁止在全球范围内销售双向无线电技术的产品&#xff0c;并处以每天100万美元的罚款&#xff0c;直至公司完全遵守禁诉令之时止。…

Go Web开发【xorm 框架】

1、xorm 1.1、xorm 简介 xorm 是一个简单而强大的Go语言ORM库. 通过它可以使数据库操作非常简便。 特性 支持 struct 和数据库表之间的灵活映射&#xff0c;并支持自动同步事务支持同时支持原始SQL语句和ORM操作的混合执行使用连写来简化调用支持使用ID, In, Where, Limit,…

C语言:选择结构

选择结构 1.if 语句1.1.if1.2.if-else1.3.if的嵌套举例示例结果分析 举例示例结果 2.switch语句举例示例结果分析 C语言中的选择结构用于根据特定条件执行不同的代码段。选择结构是C语言编程中实现程序逻辑流程控制的基础&#xff0c;它们能够使程序根据不同的输入或条件执行不…

《霍格沃茨之遗》找不到emp.dll如何修复?分享5种亲测有效的方法

在我们享受电脑游戏带来的乐趣时&#xff0c;偶尔会遇到一些技术上问题&#xff0c;具体来说&#xff0c;当你启动一款游戏&#xff0c;系统却弹出一个提示“由于找不到emp.dll文件&#xff0c;因此无法继续执行代码”&#xff0c;这样的情况确实让人感到扫兴。这究竟是什么原因…

【五一特惠活动】FME视频教程限时回馈大优惠

目录 一、FME视频教程五一限定套餐 二、购买方式 为感谢各位粉丝的持续支持&#xff0c;让大家学好用好FME&#xff0c;轻松工作、少加班&#xff0c;特推出FME视频教程五一限定套餐&#xff0c;套餐包括FME入门视频教程、FME进阶视频教程、FME案例实战教程&#xff0c;总共三…

Objenesis 底层探究

Objenesis 简介 Objenesis 是一个 Java 库&#xff0c;用于在不调用构造方法的情况下创建对象。由于绕过了构造方法&#xff0c;所以无法调用构造方法中的初始化逻辑。相应的&#xff0c;Objenesis 无法创建抽象类、枚举、接口的实例对象。 起源 与其称之为起源&#xff0c;…

特斯拉与百度合作;字节正全力追赶AI业务;小红书内测自研大模型

特斯拉中国版 FSD 或与百度合作 根据彭博社的报道&#xff0c;特斯拉将通过于百度公司达成地图和导航协议&#xff0c;扫清在中国推出 FSD 功能的关键障碍。 此前&#xff0c;中国汽车工业协会、国家计算机网络应急技术处理协调中心发布《关于汽车数据处理 4 项安全要求检测情…

ThingsBoard PE专业版解决方案技术文档——温度湿度

1、项目总览 2、设备接入 3、设备告警 3.1 高温告警 创建一个Flag作为标杆,作为开启告警的开关。 3.2 低湿度告警

【STM32】快速使用F407通用定时器输出可变PWM

网上的文章太啰嗦&#xff0c;这里直接开始。 使用的是STM32CubeIDE&#xff0c;HAL。以通用定时器TIM12在 通道2上输出1KHz的PWM为例。 要确定输出的引脚、定时器连接在哪里。 TIM2、3、4、5、12、13、14在APB1上&#xff0c;最大计数频率84M。 TIM1、8、9、10、11在APB2…

【Unity动画系统】动画状态转换详解

动画状态转换 此空处可以改换新转换名字。 表示有多个转换&#xff0c;播放顺序不可调整。 Solo:表示只执行它们&#xff0c;其他没勾选的不考虑&#xff1b;都勾选了&#xff0c;哪个转换条件先满足&#xff0c;就先执行哪个转换;如果同时满足&#xff0c;那就按顺序执行。 M…

【笔试训练】day15

1.平方数 水题直接看代码 代码&#xff1a; #define _CRT_SECURE_NO_WARNINGS 1 #include <iostream> #include<math.h> #include<algorithm> using namespace std; typedef long long ll; int main() {ll x;cin >> x;ll a sqrt(x);if (abs(a * a -…

新冠轻症康复者病毒仍在复制 新冠抗病毒药先诺欣和乐睿灵怎么选?

近日,国家疾控局发布的通知显示,当前我国新冠疫情持续保持低水平波浪式流行态势,但新冠病毒仍在变异,疫情仍存在一定的反复性。“五一”假期人员流动性上升和聚集性活动增加,可能加大疫情传播风险,防控任务艰巨复杂。 新冠病毒该怎么防?感染新冠后又当如何用药?对新冠病毒的…

C语言指针和数组的一些笔试题

文章目录 前言一、一维数组二、字符数组-1三、字符数组-2总结 前言 C语言指针和数组的一些笔试题 一、一维数组 #include <stdio.h> int main() {int a[] { 1,2,3,4 };printf("%d\n", sizeof(a));printf("%d\n", sizeof(a 0));printf("%d\n…

LLM之RAG理论(十一)| 面向生产的RAG应用程序的12种调整策略指南

本文对文本RAG涉及到的主要12种关键“超参数”进行简单总结&#xff0c;主要包括摄取阶段&#xff08;数据清洗、数据分块、embedding模型选择、元数据过滤、多重索引和索引算法&#xff09;和推理阶段【检索和生成】&#xff08;查询转换、检索参数、高级检索策略、重排序、大…

Java中优雅实现泛型类型的强制转换

在Java中经常遇到将对象强制转换成泛型类的情况&#xff1a; Map<String, Object> data Map.of("name", "XiaoMing","age", 17,"scores", List.of(80, 90, 70) );List<Integer> scores (List<Integer>) data.get…

二维码门楼牌管理应用平台:智慧城市的新引擎

文章目录 前言一、数据管理&#xff1a;打造智慧城市的数据基石二、数据应用&#xff1a;推动城市管理的智能化升级三、展望未来&#xff1a;构建更加智慧的城市管理体系 前言 随着城市化的快速推进&#xff0c;城市管理面临着前所未有的挑战。二维码门楼牌管理应用平台作为一…

郡望是一个什么性质的概念

顾名思义&#xff0c;郡望就是某郡中的望族。 别看现在听起来没什么感觉&#xff0c;在古代却是一个沉甸甸的庞然大物&#xff0c;是标志贵贱的&#xff0c;决定了个人&#xff0c;家庭和家族的未来。 自秦朝实行郡县制&#xff0c;直到唐朝废郡&#xff0c;郡做为一级或州管的…

mysql-sql练习-5-行列互转

目录 成绩单 简单互转 需求 多行转多列 分组 判断 聚合 理解 分组 合并 逆向需求 多列转多行 输出 合并 abc 去重 合并 拆分 需求 建表 多行转多列 逆向需求 多列转多行 拆分 按长度 拆分 按个数 成绩单 简单互转 需求 多行转多列 分组 判断 聚合 with tmp as(--…