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


相关推荐

  • SQLyog下载、安装和破解(亲测永久有效)

    SQLyog下载、安装和破解(亲测永久有效)百度网盘下载链接:https://pan.baidu.com/s/1xck24MsW7y9Gi8ZvDgDMEg密码:ba2x版本2链接:https://pan.baidu.com/s/1-0POHrvx5vM04bKZq9DmIQ密码:o268安装非常之简单,直接点击exe文件安装,最后输入破解序列号即可永久使用。更多资料,搜索或扫码关注公众号:数说Cloud…

    2022年5月27日
    77
  • Python+Appium从安装到第一个小练习(保姆级别教程)

    Python+Appium从安装到第一个小练习(保姆级别教程)电脑系统:win10手机:安卓(没钱买苹果)需要的工具可以在这里下载,https://pan.baidu.com/s/1MupElpYcmeQH3uPQ1CUWjw提取码:AJDG

    2022年8月26日
    5
  • Git高阶实战技巧(4)

    Git高阶实战技巧(4)

    2021年5月24日
    105
  • python处理xps文件_如何在Windows 10系统中处理XPS文件

    python处理xps文件_如何在Windows 10系统中处理XPS文件XPS(XMLPaperSpecification)文件是Microsoft的AdobePDF文件的竞争对手。也许这种类型的文件不像PDF那样受欢迎,但了解XPS及其工作方式可能会有所帮助。在本文中,我们将向您展示如何在Windows10中处理XPS文件。如何查看XPS文件窗口10微软正在。在Windows10,版本1709和更早版本中,该应用程序包含在安装映像中。当您更新到Window…

    2022年5月6日
    105
  • java正则表达式http_Java 正则表达式(精华)

    java正则表达式http_Java 正则表达式(精华)英文:JakobJenkov译文:严亮链接:ifeve.com/java-regex/Java提供了功能强大的正则表达式API,在java.util.regex包下。本教程介绍如何使用正则表达式API。正则表达式一个正则表达式是一个用于文本搜索的文本模式。换句话说,在文本中搜索出现的模式。例如,你可以用正则表达式搜索网页中的邮箱地址或超链接。正则表达式示例下面是一个简单的Java正则表达式的…

    2022年7月7日
    31
  • linux下fdisk命令的用法详解[通俗易懂]

    linux下fdisk命令的用法详解 ((1)通过fdisk-l查看机器所挂硬盘个数及分区情况;一、fdisk用法详解举例说明:[root@localhost~]#fdisk-lDisk/dev/sda:250.1GB,250059350016bytes255heads,63sectors/track,30401cylindersUnits=…

    2022年4月4日
    50

发表回复

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

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