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

网络营销网站 功能外贸网站如何做

网络营销网站 功能,外贸网站如何做,可以看所有网站的浏览器,宁晋网站建设公司目录 1.题目要求: 给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。 2.解题思路: 代码展示: 1.题目要求: 给你一个整数数组 nums 和一个整数 k &#xff0…

目录

1.题目要求:

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

2.解题思路:

代码展示:


1.题目要求:

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

示例 1:

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

示例 2:

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

提示:

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

2.解题思路:

创建一个哈希表,用其存放数组中出现的元素以及每个元素出现的次数

        //用哈希表存储出现的元素,和出现的次数Map<Integer,Integer> map = new HashMap<>();for (int i:nums) {if(map.containsKey(i)){map.put(i,map.get(i) + 1);}else {map.put(i,1);}}

先创建一个类numOfTimes , 其中有两个属性,一个key值,一个k值出现的次数

//创建一个类,其中两个属性,一个k值,一个k值出现的次数
class numOfTimes{int key;int times;public numOfTimes(int key, int times) {this.key = key;this.times = times;}
}

写一个类numsSortWayOfTimes继承Comparator方法接口,重写compare方法(对numOfTimes对象进行排序比较的方式---key值出现的次数times的大小

class numsSortWayOfTimes implements Comparator<numOfTimes> {@Overridepublic int compare(numOfTimes o1, numOfTimes o2) {return o1.times - o2.times;}
}

将map内的key值按照出现次数进行比大小

建立一个优先级队列大小为k,存储(元素与出现次数的)numOfTimes的对象

遍历队列后就会将出现次数最多的元素对象留在了堆中

        //将map内的key值按照出现次数进行比大小//建立一个优先级队列大小为k,存储(元素与出现次数的)numOfTimes的对象//遍历队列后就会将出现次数最多的元素留在了堆中Queue<numOfTimes> queue = new PriorityQueue<>(new numsSortWayOfTimes());//遍历map,将出现次数最高的前k个numOfTimes对象保存在堆中for (Map.Entry<Integer,Integer> entry:map.entrySet()) {queue.offer(new numOfTimes(entry.getKey(),entry.getValue()));if(queue.size() > k){queue.poll();}}

此时队列中存放的就是出现次数最多的元素对象
遍历队列将对象的key值保存在数组中,返回该数组即可

        //此时队列中存放的就是出现次数最多的元素//遍历队列将key值保存在数组中int[] res = new int[k];for(int i = 0; i < k; i++){res[i] = queue.poll().key;}return res;

代码展示:

import java.util.*;//创建一个类,其中两个属性,一个k值,一个k值出现的次数
class numOfTimes{int key;int times;public numOfTimes(int key, int times) {this.key = key;this.times = times;}
}//对numOfTimes进行排序比较的方式,(出现次数)
//继承Comparator接口重写compare方法
class numsSortWayOfTimes implements Comparator<numOfTimes> {@Overridepublic int compare(numOfTimes o1, numOfTimes o2) {return o1.times - o2.times;}
}public class Leetcode_347 {//给你一个整数数组 nums 和一个整数 k ,// 请你返回其中出现频率前 k 高的元素。// 你可以按 任意顺序 返回答案。
//    输入: nums = [1,1,1,2,2,3], k = 2
//    输出: [1,2]public int[] topKFrequent(int[] nums, int k) {//用哈希表存储出现的元素,和出现的次数Map<Integer,Integer> map = new HashMap<>();for (int i:nums) {if(map.containsKey(i)){map.put(i,map.get(i) + 1);}else {map.put(i,1);}}//将map内的key值按照出现次数进行比大小//建立一个优先级队列大小为k,存储(元素与出现次数的)numOfTimes的对象//遍历队列后就会将出现次数最多的元素留在了堆中Queue<numOfTimes> queue = new PriorityQueue<>(new numsSortWayOfTimes());//遍历map,将出现次数最高的前k个numOfTimes对象保存在堆中for (Map.Entry<Integer,Integer> entry:map.entrySet()) {queue.offer(new numOfTimes(entry.getKey(),entry.getValue()));if(queue.size() > k){queue.poll();}}//此时队列中存放的就是出现次数最多的元素//遍历队列将key值保存在数组中int[] res = new int[k];for(int i = 0; i < k; i++){res[i] = queue.poll().key;}return res;}
}

http://www.yayakq.cn/news/900341/

相关文章:

  • 做调查用哪个网站网站建设如何定位
  • 对网站建设的要求网站小图片素材
  • php网站开发技术优点提升网站响应时间
  • 微信做购物网站怎么抽佣上线一个网站需要哪些条件
  • 设备网站开发增城住房和城乡建设局网站
  • 免费营销软件网站建设网页版qq登录网址
  • 有人做彩票网站吗网站后台添加编辑器
  • 免费做网站怎么做网站吗工作不开心应该辞职吗
  • 简单的asp网站家在深圳南山
  • 做网站没签合同怎么做网站简单的
  • 商城网站建设需要多少学校网站手机站的建设
  • 夜场酒吧娱乐ktv类企业网站源码郑州信盈达嵌入式培训
  • 什么网站可以直接做word文档c2c交易会被判刑嘛
  • 连云港公司网站优化服务山东城市建设招生网站
  • 旅行网站建设外贸公司有必要建设网站吗
  • 中山网站制作服务公众号推广一个6元
  • 建设网站要多久到账做网站的预算表
  • 响应式网站设计的现状计算机关于网站开发的证书
  • 网站优化的方法与技巧济南三合一网站建设
  • 怎么用ftp修改网站企业推广策略
  • 做外贸网站代理商wordpress不提示系统更新
  • 金融适合什么颜色做网站金融公司网站模版
  • 网站开发+搜索龙华和龙岗哪个繁华
  • 苏州网站建设丨好先生科技360网页怎么制作
  • 服装 公司 网站建设storefront wordpress
  • 淘宝客怎么做网站导购提交网站收录入口
  • 什么博客可以做网站国外搜索引擎入口
  • 郑州网站设计 郑州网站开发建设百度网站
  • 建设网站需要提供什么资料湖北省住房和建设厅网站首页
  • 北京房山网站建设有没有免费制作视频的软件