1677个高频单词_3500高频词汇表

1677个高频单词_3500高频词汇表给一非空的单词列表,返回前 k 个出现次数最多的单词。返回的答案应该按单词出现频率由高到低排序。如果不同的单词有相同出现频率,按字母顺序排序。示例 1:输入: [“i”, “love”, “leetcode”, “i”, “love”, “coding”], k = 2输出: [“i”, “love”]解析: “i” 和 “love” 为出现次数最多的两个单词,均为2次。 注意,按字母顺序 “i” 在 “love” 之前。 示例 2:输入: [“the”, “day”, “is

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

给一非空的单词列表,返回前 k 个出现次数最多的单词。

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

示例 1:

输入: ["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 次。
 

注意:

假定 k 总为有效值, 1 ≤ k ≤ 集合元素数。
输入的单词均由小写字母组成。

扩展练习:

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


class Solution { 
   
public:
struct  Node{ 
   
    string s;
    int val;
    Node(string s,int v){ 
   
        this->s = s,val = v;
    }
    bool operator>(const Node &b)const{ 
   
        if(val == b.val)return s < b.s;
        return val > b.val;
    }
};
    vector<string> topKFrequent(vector<string>& words, int k) { 
   
        unordered_map<string,int>m;
        for(auto &a : words){ 
   
            if(!m.count(a))m[a] = 0;
            m[a] ++;
        }
        priority_queue<Node,vector<Node>,greater<Node> >p;
        unordered_map<string,int>::iterator it;
        for(it = m.begin();it != m.end();it ++){ 
   
            Node a(it->first,it->second);
            if(p.size() == k){ 
   
                if(a > p.top()){ 
   
                    p.pop();
                    p.push(a);
                }
            }
            else p.push(a);
        }
        vector<string>ans;
        while(p.size()){ 
   
            ans.push_back(p.top().s);
            p.pop();
        }
        reverse(ans.begin(),ans.end());
        return ans;
    }
};
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/169070.html原文链接:https://javaforall.net

(0)
上一篇 2022年8月11日 下午6:46
下一篇 2022年8月11日 下午6:46


相关推荐

  • 安卓udp发包工具_好装逼牌udp-tcp发包工具

    安卓udp发包工具_好装逼牌udp-tcp发包工具这是好装逼牌udp-tcp发包工具,界面看着好像很牛逼,是不是草包自己实验吧,听说可以穿透安全狗和金盾冰盾之类的防火墙,黑软有风险使用需谨慎,不过玩黑软也有好处,有可能警察叔叔会帮你解决住房问题和吃住问题==!你懂吗?软件特点1.可收发TCP/UDP数据。2.对于TCP,支持服务器和客户端模式。3.支持多连接,可同时对多路网络连接进行操作。4.对于UDP,支持组播方式。5.可显示当前数据传输速度…

    2025年9月18日
    6
  • RxJava(三) flatMap 操作符用法详解

    RxJava(三) flatMap 操作符用法详解RxJava系列文章目录导读:一、RxJavacreate操作符的用法和源码分析二、RxJavamap操作符用法详解三、RxJavaflatMap操作符用法详解四、RxJavaconcatMap操作符用法详解五、RxJavaonErrorResumeNext操作符实现app与服务器间token机制六、RxJavaretryWhen操作符…

    2022年6月4日
    104
  • 用批处理文件阻止win10强制更新

    用批处理文件阻止win10强制更新win10这个商业巨头微软的最新之作,以流氓行径著称,尤其是它的自动更新最受诟病。用户无权选择是否下载和安装更新。你选择不更新,他就在后台下载,下次开机自动安装。何况,这些更新有的没必要,有的装上反而起副作用。我之前就被装上的更新弄坏网卡驱动,重装一次系统;今年3月大范围爆发的更新bug,导致众多用户USB驱动坏掉,又重装一次系统。再后来,我知道了更新的危害,就每天手动删除那些更新安装包,结果有一…

    2022年6月4日
    34
  • Vue3 最长递增子序列详解

    Vue3 最长递增子序列详解Vue3最长递增子序列研究本文初衷彻底讲清楚Vue3源码中实现最长递增子序列的算法。概念名词**最长递增子序列:**在一个给定的数值序列中,找到一个子序列,使得这个子序列元素的数值依次递增,并且这个子序列的长度尽可能地大。最长递增子序列中的元素在原序列中不一定是连续的。比如:序列[10,9,2,5,3,7,101,18]的最长递增子序列是[2,3,7,101]或[2,3,7,18]。序列[3,2,8,9,5,6,7,11,15,4]

    2022年5月4日
    64
  • crawlab爬虫

    crawlab爬虫安装方式 Docker 推荐 直接部署 了解内核 要求 Docker Docker18 03 RedisMongoDB 6 要求 直接部署 Go1 12 Node8 12 RedisMongoDB 6 运行 Docker 运行主节点示例 192 168 99 1 是在 DockerMachin 网络中的宿主机 IP 地址 192 168 99 100 是 Docker 主节点的 IP 地址 dockerrun drmnamecrawl eCRAWLAB

    2026年3月19日
    2
  • 巨量算数 – 抖音用户画像[通俗易懂]

    巨量算数 – 抖音用户画像[通俗易懂]2020年8月,巨量算数发布最新抖音用户画像,需要完整报告请关注公众号回复“2020年抖音用户画像”即可获取!如果大家身边也有需要这些资料的人,在分享的同时,麻烦也关注下该公众号“1NEDAY”吧免责声明:所有资源来自网友分享。一.此次发布的资料,大部分是网友从网上搜集分享而来,其版权均归原作者及其网站所有,如果您对本站所载视频作品版权的归属存有异议,请立即通知我,我将在第一时间予以删除,同时向你表示歉意!二.不论何种情形,本站都不对任何由于使用或无法使用..

    2022年4月29日
    326

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号