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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • django配置文件详解_pycharm配置python

    django配置文件详解_pycharm配置python前言Django的配置文件settings.py用于配置整个网站的环境和功能,核心配置必须有项目路径、密钥配置、域名访问权限、App列表、中间件、资源文件、模板配置、数据库的连接方式基本配置信息

    2022年7月28日
    9
  • Gazebo使用笔记(5) —— 力/力矩传感器的使用[通俗易懂]

    Gazebo使用笔记(5) —— 力/力矩传感器的使用[通俗易懂]1.插件的添加在相应的<joint>标签内添加如下代码:<sensorname=”force_torque”type=”force_torque”><update_rate>30</update_rate></sensor>运行world:gazebo–verboseforce_torque_tutorial.world查看传感器输出:法1:命令查看gztopi

    2022年5月15日
    67
  • vuejs中执行npm run dev出现页面cannot GET/问题

    vuejs中执行npm run dev出现页面cannot GET/问题

    2021年10月11日
    52
  • java工作流详解

    java工作流详解什么是工作流?工作流:两个或两个以上的人,为了共同的目标,连续的以串行或并行的方式去完成某一业务。业务:工作流所指业务涵盖了与经营相关的活动。串行或并行:业务中的步骤也许以一步接着一步的方式进行,我们称之为串行;或者由不同的人或组合根据不同的情况处理,我们称之为并行。两个或两个以上的人:如工作流的名称所表达的含义,一个人处理的业务不称其为工作流,只有任务从一个人”流”向另一个人的时候,才有工作流。共同的目标:个体参与工作流必须是为了同一个工作目标。如果个体处于两个相互独立的项目之中,不会

    2022年5月16日
    77
  • NGINX 配置404错误页面转向

    NGINX 配置404错误页面转向

    2021年9月24日
    41
  • ui bug_行为测试

    ui bug_行为测试在大多数开发、测试眼中,UI测试的重要性远小于功能测试、性能测试等,但只要够细心,总能发现一些UIbug或者UI可以改进的地方提高用户体验。录入界面  1.1输入字段要完整,且要与列表字段相符合(参照数据库进行检查)  1.2必填项一律在后面用*表示(必填项为空在处理之前要有相关的提示信息)  1.3字段需要做校验,如果校验不对需要在处理之前要有相关的

    2025年6月24日
    2

发表回复

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

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