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

在别的公司做的网站可以转走吗指数

在别的公司做的网站可以转走吗,指数,青岛网站建设代理加盟,wordpress添加题目 给定一个单词列表 words 和一个整数 k ,返回前 k 个出现次数最多的单词。 返回的答案应该按单词出现频率由高到低排序。如果不同的单词有相同出现频率, 按字典顺序 排序。 示例 1: 输入: words ["i", "love", …

题目

给定一个单词列表 words 和一个整数 k ,返回前 k 个出现次数最多的单词。

返回的答案应该按单词出现频率由高到低排序。如果不同的单词有相同出现频率, 按字典顺序 排序。

示例 1:

输入: words = ["i", "love", "leetcode", "i", "love", "coding"], k = 2
输出: ["i", "love"]
解析: "i" 和 "love" 为出现次数最多的两个单词,均为2次。
    注意,按字母顺序 "i" 在 "love" 之前。

示例 2:

输入: ["the", "day", "is", "sunny", "the", "the", "the", "sunny", "is", "is"], k = 4
输出: ["the", "is", "sunny", "day"]
解析: "the", "is", "sunny" 和 "day" 是出现次数最多的四个单词,
    出现次数依次为 4, 3, 2 和 1 次。

注意:

    1 <= words.length <= 500
    1 <= words[i] <= 10
    words[i] 由小写英文字母组成。
    k 的取值范围是 [1, 不同 words[i] 的数量]

进阶:尝试以 O(n log k) 时间复杂度和 O(n) 空间复杂度解决。


思路:

前k个高频元素

找大用小。

  1. 用Map扫描集合,将每个单词及出现的频率存入Map中。
  2. 声明一个基于最小堆的优先级队列,传入比较器。(题目要求:默认按出现频次大小排序,频次相同再按字典排序。用String默认的compareTo方法即可;String默认实现了Comparable,基于字母的字典序比较)
  3. 依次出队列,找到前k个高频单词。

代码

class Solution {public List<String> topKFrequent(String[] words, int k) {//1.扫描原数组,将每个单词及出现的次数存储在Map中Map<String, Integer> cnt = new HashMap<String, Integer>();for (String word : words) {cnt.put(word, cnt.getOrDefault(word, 0) + 1);}//2.扫描Map集合,将前k个出现频次最高的入优先级队列(最小堆)//向优先级队列中传入一个比较器PriorityQueue<Map.Entry<String, Integer>> pq = new PriorityQueue<Map.Entry<String, Integer>>(new Comparator<Map.Entry<String, Integer>>() {public int compare(Map.Entry<String, Integer> entry1, Map.Entry<String, Integer> entry2) {return entry1.getValue() == entry2.getValue() ? entry2.getKey().compareTo(entry1.getKey()) : entry1.getValue() - entry2.getValue();}});//将每一个字符串插入到优先队列中,如果优先队列的大小超过了 k,那么就将优先队列顶端元素弹出。这样最终优先队列中剩下的 k 个元素就是前 k 个出现次数最多的单词。for (Map.Entry<String, Integer> entry : cnt.entrySet()) {pq.offer(entry);if (pq.size() > k) {pq.poll();}}//3.依次出队列,找到前k个高频单词。List<String> ret = new ArrayList<String>();//取大用小,每次从最小堆中堆顶取,得到的前k个高频单词的频率是从小到大的while (!pq.isEmpty()) {ret.add(pq.poll().getKey());}//将ret集合进行反转,这样就实现找到前k个高频单词的频率是从大到小的Collections.reverse(ret);return ret;}
}

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

相关文章:

  • 园林景观 网站建设商业网点建设中心网站
  • 成都网站品牌设计策划做网站的会淘宝美工么
  • 禅城网站设计企业信用管理系统
  • 邯郸网站制作哪家好外汇做单在什么网站
  • 网站推广团队服务器上搭建网站
  • 天津网站seo设计1688购物平台
  • 做一个高端网站施工单位招聘信息
  • 宜昌哪有有做网站的做商城网站需要备案吗
  • 建设机械网站精英做微商进哪个网站安全吗
  • 山东省建设备案网站审批表建设岗位考试网站
  • 网页设计与网站建设课程设计建设的招标网站
  • 贵港网站建设动态公共资源交易中心有实权吗
  • 网站服务器不稳定怎么打开网页网站设计特别好的公司
  • 做网站的困难建设网站带后台管理
  • 网站百度提示风险宁波建站平台
  • 网页一键建站北京建设职工大学网站
  • 手机wap建站网站建设cms系统
  • 网站的关键词多少合适微信自己怎么做小程序
  • 网站的三大因素wordpress微信分享没有缩略图
  • 比较好的公文写作网站网络营销模式的优势
  • 什么是网站可信认证wordpress如何上传pdf
  • 做民宿的网站广州网站建设建航科技
  • 食品电子商务网站建设方案网站自己做
  • 图片素材网站哪个最多凯里小程序开发公司
  • 创意礼品做的比较好的网站企业网站域名服务器
  • 苏州建设公司网站建设wordpress邮件验证评论
  • 汽车之家网站做的很烂建设银行官网首页网站招聘
  • 揭阳网站如何制作网站后台打打开空白
  • 网站制作技术使用说明删除wordpress版权
  • 重庆网站建设制作设计代理国外网站