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

关于网站设计大型门户网站建设价格

关于网站设计,大型门户网站建设价格,宝安品牌设计公司,企业门户网站系统下载https://leetcode.cn/problems/top-k-frequent-elements/ 给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。 示例 1: 输入:nums [1,1,1,2,2,3], k 2 输出:[1,2] 示例…

https://leetcode.cn/problems/top-k-frequent-elements/

给你一个整数数组 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]

import java.util.*;public class hot347 {//最小堆//时间复杂度O(nlogk)public int[] topKFrequent(int[] nums, int k) {// 1. 统计每个元素的频率Map<Integer, Integer> map = new HashMap<>();for (int num : nums) {map.put(num, map.getOrDefault(num,0) + 1);}// 2. 使用最小堆维护前k个高频元素// 堆中存储的是 [元素值, 频率],按频率升序排列PriorityQueue<int[]> queue = new PriorityQueue<>(((a,b) -> a[1] - b[1]));// 3. 遍历频率映射,维护大小为k的最小堆for (Map.Entry<Integer,Integer> entry : map.entrySet()){Integer num = entry.getKey();Integer frequency = entry.getValue();if (queue.size() < k){queue.offer(new int[] {num, frequency});} else if(frequency > queue.peek()[1]){queue.poll();queue.offer(new int[] {num, frequency});}}// 4. 获取结果int[] res = new int[k];for (int i = 0; i < k; i++) {res[i] = queue.poll()[0];}return res;}//桶排序//时间复杂度O(n)public int[] topKFrequent2(int[] nums, int k) {// 1. 统计频率Map<Integer, Integer> frequencyMap = new HashMap<>();for (int num : nums) {frequencyMap.put(num, frequencyMap.getOrDefault(num, 0) + 1);}// 2. 创建桶数组,索引表示频率,值为该频率的元素列表List<Integer>[] buckets = new List[nums.length + 1];for (int i = 0; i <= nums.length; i++) {buckets[i] = new ArrayList<>();}// 3. 将元素放入对应频率的桶中for (Map.Entry<Integer, Integer> entry : frequencyMap.entrySet()) {int num = entry.getKey();int frequency = entry.getValue();buckets[frequency].add(num);}// 4. 从高频率到低频率收集结果int[] result = new int[k];int index = 0;for (int i = buckets.length - 1; i >= 0 && index < k; i--) {for (int num : buckets[i]) {result[index++] = num;if (index == k) {break;}}}return result;}
}

http://www.dtcms.com/a/415799.html

相关文章:

  • 丹东市住房和城乡建设网站wordpress首页文章截取
  • 【C++】STL:Stack详解
  • openHarmony之AI Engine:万字讲解如何在应用、开发板上接入AI大模型调用
  • 成都金铭 网站建设page怎么打开wordpress
  • 安徽省建设厅网站官网深圳科技公司大全
  • 在Windows电脑上使用非标准端口的SMB服务
  • 做网站可以使用免费空间吗wordpress特效代码
  • 集合 python
  • 网站开发工程师薪资室内设计很多人都干不下去了
  • 安顺市哪里可以做网站合肥seo管理
  • 企业网站的设计要点网站建设实训总结报告
  • 【传奇开心果系列】基于Flet框架实现的第二次大的优化升级版语音播报成语接龙小游戏V2.0.2特色和实现原理深度解析
  • 【最佳实践】py文件需要调用exe文件和dll文件,如何打包成exe文件
  • 怎样做卖活网站长沙的科技公司
  • 111.二叉树的最小深度(二叉树算法题)
  • JavaWeb--day12--事务AOP
  • WebSocat 安装与使用
  • c程序调试命令
  • 锤子助手插件功能七十九:文件复读
  • 单县网站建设设计师网站源码
  • wordpress乐趣公园缩略图不显示单页面应用优化
  • 沧浪企业建设网站方法博客源码
  • Android开发-系统广播
  • 数据结构(长期更新)第1讲:算法复杂度
  • 中学网站模板网站建设的前端用什么编程
  • 做网站怎样快速收录广西省建设厅网站
  • 网站后台中文模板上海市黄页企业名录查询
  • 玩家自助充值网站建设织梦网站首页错位
  • 解读 2025《可信数据空间 数字合约技术要求》
  • __new__和__init__的区别是什么