LeetCode347:前K个高频元素
题目描述
给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。

解题思想
使用优先队列
priority_queue<Type, Container, Functional>
Type 就是数据类型,Container 就是容器类型(Container必须是用数组实现的容器,比如vector,deque等等,但不能用 list。STL里面默认用的是vector),Functional 就是比较的方式,当需要用自定义的数据类型时才需要传入这三个参数,使用基本数据类型时,只需要传入数据类型,默认是大顶堆
//升序队列
priority_queue <int,vector<int>,greater<int> > q;
//降序队列
priority_queue <int,vector<int>,less<int> >q;//greater和less是std实现的两个仿函数
//(就是使一个类的使用看上去像一个函数。其实现就是类中实现一个operator(),这个类就有了类似函数的行为,就是一个仿函数类了
代码
class Solution {
public:class cmp{public:bool operator()(const pair<int,int>& l, const pair<int,int>& r){return l.second > r.second;}};vector<int> topKFrequent(vector<int>& nums, int k) {unordered_map<int,int> umap;for(int i = 0; i < nums.size(); ++i){++umap[nums[i]];}priority_queue<pair<int, int>, vector<pair<int, int>>, cmp> pri_que;for(auto it = umap.begin(); it != umap.end(); ++it){pri_que.push(*it);if(pri_que.size() > k) pri_que.pop();}vector<int> res(k);for(int i = 0; i < k; i++){res[i] = pri_que.top().first;pri_que.pop();}return res;}
};
相关文章:
LeetCode347:前K个高频元素
题目描述 给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。 解题思想 使用优先队列 priority_queue<Type, Container, Functional> Type 就是数据类型,Container 就是容器类型(C…...
2.线上论坛项目
一、项目介绍 线上论坛 相关技术:SpringBootSpringMvcMybatisMysqlSwagger项目简介:本项目是一个功能丰富的线上论坛,用户可编辑、发布、删除帖子,并评论、点赞。帖子按版块分类,方便查找。同时,用户可以…...
Java面试题:讨论synchronized关键字和java.util.concurrent包中的同步工具,如Lock和Semaphore
在 Java 中,synchronized 关键字和 java.util.concurrent 包中的同步工具都是用来控制多线程环境下的并发访问,以防止数据竞争和确保线程安全。下面是对 synchronized 关键字和 java.util.concurrent 包中的一些同步工具的讨论,包括它们的特点…...
酱香型白酒派系介绍
酱香型白酒作为中国传统白酒的重要流派,以其独特的酱香和复杂的酿造工艺而著称。在酱香型白酒中,形成了多个派系,各具特色。 以下是关于北派、茅派、川派和黔派等各个派系的详细介绍。 一、北派 地理位置:主要产于秦岭和淮河以…...
编译chamfer3D报错
python setup.py install编译chamfer3D报错 出现nvcc fatal : Unsupported gpu architecture ‘compute_86‘的问题,是因为显卡与cuda版本支持的算力不匹配。 nvcc fatal : Unsupported gpu architecture ‘compute_86’ ninja: build stopped: subcommand failed. …...
BuildConfig类找不到,BuildConfig.java类不在编译加载路径问题解决
今天用buildConfigField设置编译时常量遇到了问题,访问不到BuildConfig类,import导包也找不到类,具体设置如下: defaultConfig {applicationId com.sample.abcminSdk 28targetSdk 33versionCode getVerInt()//1versionName getVer…...
海外版coze前端代码助手
定位 解决前端同事的开发问题 参数配置 测试 支持 最屌的大模型及语音播报。 体验地址 海外版前端代码助手 需要魔法才能体验油...
python pyautogui实现图片识别点击失败后重试
安装库 pip install Pillow pip install opencv-python confidence作用 confidence 参数是用于指定图像匹配的信度(或置信度)的,它表示图像匹配的准确程度。这个参数的值在 0 到 1 之间,数值越高表示匹配的要求越严格。 具体来…...
怎么看电脑实时充电功率
因为我想测试不同的充电器给电脑充电的速度,所以就想找一款软件可以看电脑当前充电功率的软件,我给一个图 直接搜索就可以下载了,charge rate就是功率,这里是毫瓦,换算单位是 1000mw1w 所以我这里充电功率是65w&…...
Qt 实战(4)信号与槽 | 4.2、自定义信号与槽
文章目录 一、自定义信号与槽1、自定义信号2、自定义槽3、连接信号与槽4、总结 前言: 在Qt框架中,信号(signals)和槽(slots)机制是对象间通信的核心。这种机制允许对象在特定事件发生时发出信号,…...
Android开发系列(六)Jetpack Compose之Box
Box是一个用来组合和控制子元素布局的组件。它可以在一个矩形区域内排列一个或多个子元素,并根据所提供的参数来控制它们的位置、大小和样式。 Box的功能类似传统的FrameLayout。 下面通过示例了解Box的使用方法,首先看一个最简单的示例,如下…...
51单片机STC89C52RC——4.1 独立按键(数码管显示按键值)
目录 目录 目的 一,STC单片机模块 二,矩阵按键模块 2.1 针脚定义 编辑 2.2 矩阵按键位置 2.3 如何理解按键按下后针脚的高低电平 2.3.1 错误理解1 2.3.2 错误理解2 2.3.3 正确判定按下的是那个按键的逻辑 2.3.4 判定按键按下的依次扫描程…...
解决双击bootstrap.bat没有生成b2.exe文件
双击bootstrap.bat但是并没有没有生成b2.exe文件,会报如下错误: "cl" 不是内部或外部命令,也不是可运行的程序 或批处理文件。D:\cppsoft\boost_1_85_0\tools\build\src\engine>dir *.exe 驱动器 D 中的卷是 Data 卷的序列号是…...
AI穿戴设备是未来手机的终结者?中国AI商业化的未来预测
AI技术的发展正处于商业化应用的关键阶段,而中国在互联网时代已凭借商业化应用逆袭。AI算法大模型虽强大,但真正普惠民众需与设备深度结合。穿戴式智能设备就成为了新战场,AI算法与穿戴设备结合能释放更大工作效率。私人助理AI将成趋势&#…...
FPGA+Nvidia Orin NX+AI 异构视频图像处理开发平台在高端医疗和工业检测的应用,支持定制,支持国产化
FPGAGPU 异构架构视频图像处理开发平台,它结合了 AMD Zynq UltraScale MPSoC(FPGA)与 NVIDIA Jetson Orin NX(GPU)的强大功能,能够应用于对图像精准度和实时性有着严苛要求的行业领域。 Zynq UltraScale MP…...
2000-2023年各省名义GDP、实际GDP、GDP平减指数数据(含原始数据+计算过程+计算结果)(以2000年为基期)
2000-2023年各省名义GDP、实际GDP、GDP平减指数数据(含原始数据计算过程计算结果)(以2000年为基期) 1、时间:2000-2023年 2、范围:31省 3、指标:名义GDP、国内生产总值指数、实际GDP、GDP平减…...
python学习—字典(Dictionary)
系列文章目录 python学习—列表和元组 python学习—循环语句-控制流 python学习—合并TXT文本文件 python学习—统计嵌套文件夹内的文件数量并建立索引表格 python学习—查找指定目录下的指定类型文件 python学习—年会不能停,游戏抽签抽奖 python学习—合并多个Ex…...
鸿蒙开发:【组件启动规则(FA模型)】
组件启动规则(FA模型) 启动组件是指一切启动或连接应用组件的行为: 启动PageAbility、ServiceAbility,如使用startAbility()等相关接口。连接ServiceAbility、DataAbility,如使用connectAbility()、acquireDataAbili…...
网络编程5----初识http
1.1 请求和响应的格式 http协议和前边学过的传输层、网络层协议不同,它是“一问一答”形式的,所以要分为请求和响应两部分看待,同时,请求和响应的格式是不同的,我们来具体介绍一下。 1.1.1 请求 在介绍请求之前&…...
“用友审批+民生付款”,YonSuite让企业发薪更准时
随着现代企业经营模式的不断创新和市场竞争的加剧,企业薪资管理和发放的效率、准确性和及时性已成为企业管理的重要一环。然而,在实际操作中,许多企业面临着薪资管理复杂、发放流程繁琐、数据不准确等难点和痛点。为了解决这些问题࿰…...
DockerHub与私有镜像仓库在容器化中的应用与管理
哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...
spring:实例工厂方法获取bean
spring处理使用静态工厂方法获取bean实例,也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下: 定义实例工厂类(Java代码),定义实例工厂(xml),定义调用实例工厂ÿ…...
(转)什么是DockerCompose?它有什么作用?
一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器。 Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...
GC1808高性能24位立体声音频ADC芯片解析
1. 芯片概述 GC1808是一款24位立体声音频模数转换器(ADC),支持8kHz~96kHz采样率,集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器,适用于高保真音频采集场景。 2. 核心特性 高精度:24位分辨率,…...
安卓基础(aar)
重新设置java21的环境,临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的: MyApp/ ├── app/ …...
网站指纹识别
网站指纹识别 网站的最基本组成:服务器(操作系统)、中间件(web容器)、脚本语言、数据厍 为什么要了解这些?举个例子:发现了一个文件读取漏洞,我们需要读/etc/passwd,如…...
接口自动化测试:HttpRunner基础
相关文档 HttpRunner V3.x中文文档 HttpRunner 用户指南 使用HttpRunner 3.x实现接口自动化测试 HttpRunner介绍 HttpRunner 是一个开源的 API 测试工具,支持 HTTP(S)/HTTP2/WebSocket/RPC 等网络协议,涵盖接口测试、性能测试、数字体验监测等测试类型…...
代码规范和架构【立芯理论一】(2025.06.08)
1、代码规范的目标 代码简洁精炼、美观,可持续性好高效率高复用,可移植性好高内聚,低耦合没有冗余规范性,代码有规可循,可以看出自己当时的思考过程特殊排版,特殊语法,特殊指令,必须…...
C# 表达式和运算符(求值顺序)
求值顺序 表达式可以由许多嵌套的子表达式构成。子表达式的求值顺序可以使表达式的最终值发生 变化。 例如,已知表达式3*52,依照子表达式的求值顺序,有两种可能的结果,如图9-3所示。 如果乘法先执行,结果是17。如果5…...
学习一下用鸿蒙DevEco Studio HarmonyOS5实现百度地图
在鸿蒙(HarmonyOS5)中集成百度地图,可以通过以下步骤和技术方案实现。结合鸿蒙的分布式能力和百度地图的API,可以构建跨设备的定位、导航和地图展示功能。 1. 鸿蒙环境准备 开发工具:下载安装 De…...
