news 2026/7/31 3:55:34

【每日一题】LeetCode 347. 前 K 个高频元素 TypeScript

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【每日一题】LeetCode 347. 前 K 个高频元素 TypeScript

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

示例 1:

输入:nums = [1,1,1,2,2,3], k = 2

输出:[1,2]

示例 2:

输入:nums = [1], k = 1

输出:[1]

示例 3:

输入:nums = [1,2,1,2,1,2,3,1,3,2], k = 2

输出:[1,2]

提示:

  • 1 <= nums.length <= 105
  • -104 <= nums[i] <= 104
  • k的取值范围是[1, 数组中不相同的元素的个数]
  • 题目数据保证答案唯一,换句话说,数组中前k个高频元素的集合是唯一的

哈希表+桶排序

1.建哈希表:统计每个数字出现的次数 {1,3} 表示1出现了3次;

2.桶:数组下标是每个数字出现的次数,值是数字(可以是多个数出现的次数是相同的);

3.往后遍历桶,把后k个加入列表中;

function topKFrequent(nums: number[], k: number): number[] { const map = new Map<number,number>() nums.forEach(item=>{ map.set(item,(map.get(item)||0)+1) }) const bucket = Array.from({length:nums.length+1},()=>[]) for(const [num,count] of map.entries()){ bucket[count].push(num) } const res:number[] = [] for(let i=bucket.length-1;res.length<k;i--){ if(bucket[i].length>0){ res.push(...bucket[i]) } } return res };

共勉

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/31 3:53:46

Python实现彩票随机抽奖模拟:从伪随机算法到概率分析实战

1. 项目概述&#xff1a;从“随机”到“可控”的模拟实践“模拟彩票随机抽选机制”这个项目&#xff0c;听起来像是要复刻一个简单的随机数生成器&#xff0c;但真正深入进去&#xff0c;你会发现它远不止于此。作为一名在数据分析和模拟领域摸爬滚打了十多年的从业者&#xff…

作者头像 李华
网站建设 2026/7/31 3:52:51

Python合并TS视频的三种方法:FFmpeg、MoviePy与二进制拼接实战

1. 项目概述&#xff1a;为什么我们需要用Python合并TS视频&#xff1f;在视频处理和数据抓取的日常工作中&#xff0c;我经常遇到一种情况&#xff1a;从网络上下载的视频文件&#xff0c;尤其是那些流媒体视频&#xff0c;往往被分割成成百上千个以.ts为后缀的小文件。这些TS…

作者头像 李华
网站建设 2026/7/31 3:49:43

系统化技术训练计划:从架构设计到工程实践的全流程指南

最近在准备技术分享时&#xff0c;发现很多开发者对系统化训练计划的设计和执行存在困惑。本文将围绕"Kevin 350计划"的技术实现方案&#xff0c;完整拆解从环境搭建到实战演练的全流程&#xff0c;特别适合需要系统化提升技术能力的开发者和技术团队参考使用。1. 训…

作者头像 李华
网站建设 2026/7/31 3:47:49

射频AGC电路设计:从原理到实战,攻克环路振荡与响应速度难题

1. 项目概述&#xff1a;为什么我们需要自动增益控制&#xff08;AGC&#xff09;&#xff1f;在射频工程师的日常工作中&#xff0c;处理幅度变化剧烈的信号是家常便饭。想象一下&#xff0c;你正在调试一个无线接收机&#xff0c;信号源可能是一个距离忽远忽近的移动设备&…

作者头像 李华
网站建设 2026/7/31 3:45:48

零基础3天入门GDScript编程:游戏开发小白的第一个代码奇迹

零基础3天入门GDScript编程&#xff1a;游戏开发小白的第一个代码奇迹 【免费下载链接】learn-gdscript Learn Godots GDScript programming language from zero, right in your browser, for free. 项目地址: https://gitcode.com/gh_mirrors/le/learn-gdscript 想学编…

作者头像 李华