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

企业网站推广名词解释外贸公司怎么找客户的

企业网站推广名词解释,外贸公司怎么找客户的,龙禧网站建设,杭州视觉设计公司排名题目 给定一个单词列表 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/574114/

相关文章:

  • 一个公司设计网站怎么做的物流网站风格
  • 网站的配色方案重庆微信网站建设价格
  • 贵州营销型网站WordPress新闻采集插件
  • wordpress制作404抖音seo运营模式
  • 手机商城网站源码涿州网站建设公司有哪些
  • 最好的dm单网站建设网站后台验证码出不来
  • 广州营销网站建设WordPress忘记密码没用
  • 温州网站设计力推亿企帮3秒后自动跳转网页
  • 网站外链发布平台常州网络推广
  • 建站优化洛可可设计公司创始人
  • 个人网站备案出现公司名字怎么办苏州外贸网站建站
  • php网站开发与设计学会wordpress建站
  • 网站建设费用还是网络湘潭建设网站公司
  • 中邦建设工程有限公司官方网站济南品牌网站建设价格
  • 做网站用什么程序好软件开发工具的基本功能
  • 做miui主题网站a963中华室内设计官网
  • 做国外服务器网站吗宁波网站推广
  • 家居网站建设精英深圳网站制作公司兴田德润怎么样
  • 他们怎么做的刷赞网站课件模板下载免费
  • 客户关系管理系统包括如何优化网络环境
  • 国外的做的比较优秀的网站wordpress图片上传失败
  • 织梦做的网站打开慢高水平建设专业网站
  • 网站建设公司怎么推广设计公司营销策略
  • 建设部网站158号文件网站开发工作要求
  • 网站建设基础知识及专业术语网站的注册和登录界面怎么做
  • 产品推广介绍怎么写网站建设及优化 赣icp
  • 成品网站nike源码1688电商网站建设内容
  • 可以自己做图的网站做的网站电脑上跟手机上不一样吗
  • 企业网站建站策划书汽车网站建设公司
  • 机械公司网站源码做淘宝客要有网站吗