力扣 | 347. 前 K 个高频元素

leetcode 347 号算法题:前 K 个高频元素

给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。
你可以按 任意顺序 返回答案。输入: nums = [1,1,1,2,2,3], k = 2
输出: [2, 1]输入: nums = [1], k = 1
输出: [1]1 <= nums.length <= 10^5
k 的取值范围是 [1, 数组中不相同的元素的个数]
题目数据保证答案唯一,换句话说,数组中前 k 个高频元素的集合是唯一的进阶:你所设计算法的时间复杂度 必须 优于 O(n log n) ,其中 n 是数组大小。
import java.util.HashMap;
import java.util.Map;
import java.util.PriorityQueue;public class Problem_347_TopKFrequentElements {public int [] topKFrequent(int[] nums, int k) {Map<Integer,Integer> count = new HashMap<>();for (int num : nums) {count.put(num, count.getOrDefault(num,0) + 1 );}PriorityQueue<Integer> pq= new PriorityQueue<>(k + 1,(a,b) -> count.get(a) - count.get(b));for (int num : count.keySet()) {pq.add(num);if(pq.size() > k) pq.remove();}int [] res = new int[k];int index = 0;while (!pq.isEmpty()){res[index++] = pq.remove();}return res;}
}

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

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

相关文章

使用postman时,报错SSL Error: Unable to verify the first certificate

开发中使用postman调用接口&#xff0c;出现以下问题&#xff0c;在确认路径、参数、请求方式均为正确的情况下 解决方法 File - Settings -> SSL certification verification 关闭 找到图中配置&#xff0c;这里默认是打开状态&#xff0c;把它关闭即可&#xff1a;ON …

虾皮测评选品:如何在虾皮平台上进行有效的产品测评和选品

在如今的电商市场中&#xff0c;虾皮&#xff08;Shopee&#xff09;平台已经成为了卖家们最为重要的销售渠道之一。而在虾皮平台上进行产品测评和选品对于卖家来说至关重要&#xff0c;它直接影响到店铺的销售额和利润。本文将为您提供一些关于如何在虾皮平台上进行有效的产品…

如何通过ETLCloud的API对接功能实现各种SaaS平台数据对接

前言 当前使用SaaS系统的企业越来越多&#xff0c;当我们需要对SaaS系统中产生的数据进行分析和对接时就需要与SaaS系统提供的API进行对接&#xff0c;因为SaaS一般是不会提供数据库表给企业&#xff0c;这时就应该使用ETL&#xff08;Extract, Transform, Load&#xff09;的…

Tenda账号密码泄露漏洞复现 [附POC]

文章目录 Tenda账号密码泄露漏洞复现 [附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现Tenda账号密码泄露漏洞复现 [附POC] 0x01 前言 免责声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息…

复杂 SQL 实现分组分情况分页查询

其他系列文章导航 Java基础合集数据结构与算法合集 设计模式合集 多线程合集 分布式合集 ES合集 文章目录 其他系列文章导航 文章目录 前言 一、根据 camp_status 字段分为 6 种情况 1.1 SQL语句 1.2 SQL解释 二、分页 SQL 实现 2.1 SQL语句 2.2 根据 camp_type 区分返…

Unity中Shader测试常用的UGUI功能简介

文章目录 前言一、锚点1、锚点快捷修改位置2、使用Anchor Presets快捷修改3、Anchor Presets界面按下 Shift 可以快捷修改锚点和中心点位置4、Anchor Presets界面按下 Alt 可以快捷修改锚点位置、UI对象位置 和 长宽大小 二、Canvas画布1、UGUI中 Transform 变成了 Rect Transf…

openssl数据压缩

介绍 数据压缩是将原有数据通过某种压缩算法计算得到相对数据量小的过程。这种过程是可逆的&#xff0c;即能通过压缩后的数据恢复出原数据。数据压缩能够节省存储空间&#xff0c;减轻网络负载。 在即需要加密又需要压缩的情况下&#xff0c;必须先压缩再加密&#xff0c;次…

Linux 操作系统(查看文件内容)

cat 格式&#xff1a;cat [选项]...[文件]... 说明&#xff1a;把多个文件连接后输出到标准输出&#xff08;屏幕&#xff09;或者加”> 文件名” 输出到另一个文件中 常用选项&#xff1a; -b或—number-noblank: 从1开始对所有非空输出行进行编号 -n或—number: 从1开始所…

网络协议小记

一、TCP/IP协议 作为一个小萌新&#xff0c;当然我无法将tcp/ip协议的大部分江山和盘托出&#xff0c;但是其中很多面试可能问到的知识&#xff0c;我觉得有必要总结一下&#xff01; 首先&#xff0c;在学习tcp/ip协议之前&#xff0c;我们必须搞明白什么是tcp/ip协议。 1、…

6. 3 lambda表达式

6.3 lambda表达式 指定时间间隔完成工作&#xff0c;该工作放在了ActionListener中的action performed 方法中&#xff1b;work类继承上述类&#xff0c;构造work类实例 定制比较器完成排序&#xff0c;定义一个长度比较类&#xff0c;再传给sort&#xff1b;实现基于长度排…

Web地图开发,在vue3中引入高德地图API

在vue3中引入高德地图API要实现的功能 设置地图的显示样式实现点击地图添加标记、点击地图获取详细地址和经纬度输入框搜索获取相关地区提示&#xff08;下拉框&#xff0c;选中后进行标记&#xff0c;视角移动到相对位置&#xff09;输入框输入内容&#xff0c;回车获取详细地…

架构设计系列之前端架构和后端架构的区别和联系

前端架构和后端架构都是软件系统中最关键的架构层&#xff0c;负责处理不同方面的任务和逻辑&#xff0c;两者之间是存在一些区别和联系的&#xff0c;我会从以下几个方面来阐述&#xff1a; 一、定位和职责 前端架构 主要关注用户界面和用户体验&#xff0c;负责处理用户与…

打造中国人自己的GPTs,百度灵境矩阵升级为智能体平台

12月18日&#xff0c;百度「灵境矩阵」平台全新升级为「文心大模型智能体平台」。灵境矩阵基于文心大模型&#xff0c;为开发者提供多样化的开发方式&#xff0c;支持广大开发者根据自身行业领域、应用场景&#xff0c;选取多样化的开发方式&#xff0c;打造大模型时代的原生应…

关于我对归纳偏置(inductive bias)的概念和应用的详细总结

归纳偏置&#xff08;inductive bias&#xff09; 1.归纳偏置&#xff08;inductive bias&#xff09;的概念2.归纳偏置&#xff08;inductive bias&#xff09;的应用 1.归纳偏置&#xff08;inductive bias&#xff09;的概念 归纳偏置&#xff08;inductive bias&#xff0…

贪吃蛇(二)绘制地图

绘制地图主要是考察基础的循环和分支控制&#xff0c;视频没看完&#xff0c;自己写了一下。 绘制一个基础地图 #include"curses.h" void cursesinit() {initscr();keypad(stdscr,1); }void mapinit() {int row;int col;for(row 0;row < 20;row){if(row 0 || …

如何在 FastAPI 中设置定时任务:完全指南

Web 应用程序开发中&#xff0c;及时高效处理常规任务至关重要&#xff0c;包括定时收集数据或管理任务计划。针对强大且性能卓越的 FastAPI 框架&#xff0c;我们可以通过几种策略来管理这些必要的定时任务。 实现 FastAPI 中的定时任务 本指南将探讨在 FastAPI 环境中管理定…

工业6轴机械臂运动学逆解(解析解)

工业6轴机械臂运动学逆解&#xff08;解析解&#xff09; 通常工业机械臂采用6旋转轴串连的形式&#xff0c;保证了灵活性&#xff0c;但为其运动学逆解&#xff08;即已知机械臂末端的位姿 P P P&#xff0c;求机械臂各个旋转轴的旋转角&#xff09;带来了较大的困难&#xff…

面试题总结(十五)【ARMstm32】【华清远见西安中心】

ARM Cortex-M,Cortex-R,Cortex-A的区别和差异是什么&#xff1f; ARM Cortex-M&#xff0c;Cortex-R和Cortex-A是ARM架构下的不同处理器系列&#xff0c;针对不同的应用领域和需求进行了优化和设计。它们之间的区别和差异主要体现在以下几个方面&#xff1a; 1. 应用领域&#…

倒计数器:CountDownLatch

CountDownLatch 是 Java 中用于多线程编程的一个同步工具。 它允许一个或多个线程等待其他线程执行完特定操作后再继续执行。 CountDownLatch 通过一个计数器来实现&#xff0c; 该计数器初始化为一个正整数&#xff0c;每当一个线程完成了指定操作&#xff0c;计数器就会减一。…

Apache CouchDB 垂直权限绕过漏洞 CVE-2017-12635 已亲自复现

Apache CouchDB 垂直权限绕过漏洞 CVE-2017-12635 已亲自复现 漏洞名称影响版本影响版本 漏洞复现环境搭建漏洞利用 总结 漏洞名称 影响版本 Apache CouchDB是一个开源的NoSQL数据库&#xff0c;专注于易用性和成为“完全拥抱web的数据库”。它是一个使用JSON作为数据存储格式…