当前位置: 首页 > news >正文

347.前K个高频元素

依旧快排,依旧选择,只是现在只需要确定频率前k不需要排到底

classSolution{publicint[]topKFrequent(int[]nums,intk){Map<Integer,Integer>map=newHashMap<>();List<int[]>list=newArrayList<>();int[]result=newint[k];for(inti=0;i<nums.length;i++){map.put(nums[i],map.getOrDefault(nums[i],0)+1);}map.forEach((ks,v)->{list.add(newint[]{ks,v});});kp(list,0,list.size()-1,k);for(inti=0;i<k;i++){result[i]=list.get(i)[0];}returnresult;}publicvoidkp(List<int[]>list,intstart,intend,intk){intindex=(int)(Math.random()*(end-start+1))+start;Collections.swap(list,start,index);intnum=list.get(start)[1],l=start-1,r=end+1;while(r>l){while(list.get(++l)[1]>num);while(list.get(--r)[1]<num);if(l>=r)break;Collections.swap(list,l,r);}if(r-start+1==k)return;if(r-start+1>k)kp(list,start,r,k);elsekp(list,r+1,end,k-r+start-1);}}
http://www.jsqmd.com/news/424829/

相关文章:

  • 121.买卖股票的最佳时机
  • 2026年南昌轻钢龙骨辅材经销商最新推荐,结构稳固不易变形支撑系统 - 品牌鉴赏师
  • 基于人工势场的静态避障MATLAB实现
  • 2026年南昌圣戈班瓷砖胶经销商最新推荐,大砖铺贴专用高粘结力商家 - 品牌鉴赏师
  • for循环
  • 可视化大屏展示Java基于springboot+vue的模拟证券交易软件平台
  • SpringBoot基于微信小程序的桃李园速修系统
  • 真的太省时间 9个降AIGC软件测评:本科生降AI率必看指南
  • SpringBoot基于微信小程序的校园顺路代送平台
  • Controller中获取URI的属性的标签/类
  • 2月必知!2026口碑好的回收酒精源头厂家推荐榜单,回收废乙醇/酒精/回收废酒精/食用酒精,回收酒精供应商哪家好 - 品牌推荐师
  • STM32多路超声波采集系统设计与实现
  • FastAPI实战:打造本地文生图接口,ollama+diffusers让AI绘画更听话
  • 【CTFshow-pwn系列】03_栈溢出【pwn 054】详解:基于连续内存布局的信息泄露漏洞分析
  • 【CTFshow-pwn系列】03_栈溢出【pwn 055】详解:多级函数链式调用与精准栈布局
  • 2026市面上口碑佳的穿墙螺丝厂家怎么选?这些厂家别错过,脚手架/止水钢板/钢支撑,穿墙螺丝生产厂家口碑排行 - 品牌推荐师
  • 2026年,为你揭晓性价比高的宠物医院运营托管公司,宠物医院美团运营/宠物医生代运营,宠物医院运营托管公司推荐排行榜 - 品牌推荐师
  • ⑤python基础课-A+B大综合
  • 2026年最新|Server 2022/2025/23H2 官方原版ISO版本号汇总,运维必看!
  • RPA与测试融合:业务流程自动化中的异常路径覆盖技术
  • 微网两阶段鲁棒优化Matlab实现之旅
  • Java基于springboot+vue的校园跑腿接单系统
  • 语音交互测试自动化:多方言识别的边界用例生成模型
  • 前沿技术融合:AR/VR与边缘计算测试的扩展策略
  • DevOps质量门禁的智能化升级:AIOps与质量分析平台的融合实践
  • PMP续证提示找不到证书如何解决
  • What’s the Difference Between fdisk and parted
  • 基于边缘计算的IoT设备分布式测试框架设计与实现
  • Disk Partitioning in Linux: fdisk, parted, and mkfs Guide
  • 项目管理工具软件