map相关题目
KY264 单词识别
题目描述:
输入一个英文句子,把句子中的单词(不区分大小写)按出现次数按从多到少把单词和次数在屏幕上输出来,次数一样的按照单词小写的字典序排序输出,要求能识别英文单词和句号。
输入描述:
输入为一行,由若干个单词和句号组成
输出描述:
输出格式参见样例。
示例1
输入:
A blockhouse is a small castle that has four openings through which to shoot.
复制输出:
a:2 blockhouse:1 castle:1 four:1 has:1 is:1 openings:1 shoot:1 small:1 that:1 through:1 to:1 which:1
代码讲解:首先就是数据的输入,题目会输入一句英语(包含大小写),而我们要将句中的单词提取出来,进行统计次数,对题目分析,如A,a,算一个单词,那么就要对单词进行大小写判断,isupper()是判断大小写的函数,大写返回非零的数值(真),小写返回零(假),如果为真将大写转化为小写,使用tolower()函数进行转换,转换之后再用map[word]++,进行次数统计,最后再进行次数排序,打印输出。
代码:
#include <cctype>
#include <iostream>
#include <map>
#include<vector>
#include<algorithm>
using namespace std;int main() {string s;map<string,int> mp;while(getline(cin,s)){for(int i = 0,j = 0;i<s.size();i++){if(s[i]==' '||s[i]=='.'){string t = s.substr(j,i-j);if(isupper(t[0])){t[0] = tolower(t[0]);}j=i+1;mp[t]++;}}auto cmp = [](const pair<string,int>& a,const pair<string,int>& b){return a.second>b.second;};vector<pair<string,int>> v(mp.begin(),mp.end());sort(v.begin(),v.end(),cmp);for(int i = 0;i<v.size();i++){cout<<v[i].first<<":"<<v[i].second<<endl;}}
}
// 64 位输出请用 printf("%lld")
692. 前K个高频单词
给定一个单词列表 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] 的数量]
这道题,相比于上面的题目就简单了许多,去掉了数据的处理,只需要次数统计与排序。
代码:
class Solution {
public:vector<string> topKFrequent(vector<string>& words, int k) {unordered_map<string,int> cnt;for(auto& word:words){++cnt[word];}vector<string> rec;for(auto& [key,value]:cnt){rec.emplace_back(key);}sort(rec.begin(),rec.end(),[&](const string& a,const string& b)->bool{return cnt[a]==cnt[b]?a<b:cnt[a]>cnt[b];});rec.erase(rec.begin()+k,rec.end());return rec;}
};
相关文章:
map相关题目
KY264 单词识别 题目描述: 输入一个英文句子,把句子中的单词(不区分大小写)按出现次数按从多到少把单词和次数在屏幕上输出来,次数一样的按照单词小写的字典序排序输出,要求能识别英文单词和句号。 输入描述: 输入…...

JAVA 版小程序商城免费搭建 多商家入驻 直播带货 商城系统 B2B2C 商城源码之 B2B2C产品概述
1. 涉及平台 平台管理、商家端(PC端、手机端)、买家平台(H5/公众号、小程序、APP端(IOS/Android)、微服务平台(业务服务) 2. 核心架构 Spring Cloud、Spring Boot、Mybatis、Redis 3. 前端框架…...

moc_ XX.cpp 中的函数没有定义
解决办法: 直接将 moc_OnlyTest.cpp 文件,添加到工程目录下,解决。...
11.8代码
利用gpiod子系统实现开发板六盏灯,安装驱动点亮,卸载驱动熄灭 #include <linux/init.h> #include <linux/module.h> #include <linux/of.h> #include <linux/gpio/consumer.h> /*myleds{core-leds{leds <&gpioz 5 0>…...
常用的表单校验规则——邮箱/QQ/身份证号码/微信/电话/数字字母/整数/文本/密码等
1.邮箱校验规则 //邮箱校验 export const validateEmail async (RuleObject, value) > {// const reg new RegExp(/^[A-Za-z0-9\u4e00-\u9fa5][a-zA-Z0-9_-]$/)const reg new RegExp(/^[a-zA-Z0-9_-]([a-zA-Z0-9]\.)(com|cn|net|org)$/)if (value) {if (!reg.test(value…...

Mysql数据库 11.SQL语言 储存过程 下 储存过程管理和游标
一、存储过程管理 1.查询存储过程 查询所有储存过程 语法 show procedure status; 代码实现 #查询存储过程 show procedure status; 运行结果 加入条件查询储存过程 语法 show procedure status where db储存过程名; 代码实现 #查询带有条件的储存过程 查询名字为pro…...

如何在Visual Studio上创建项目并运行【超级详细】
工欲善其事,必先利其器。想要学好编程,首先要把手中的工具利用好,今天小编教一下大家如何在史上最强大的编译器--Visual Studio上创建项目。🍗 一.打开编译器🍗 双击你电脑上的vs,(2012,2019,2022)都行。&…...
《C++ Primer》第7章 类(二)
参考资料: 《C Primer》第5版《C Primer 习题集》第5版 7.4 类的作用域(P253) 每个类都有自己的作用域,在类的作用域之外,普通的数据和函数成员只能由对象、引用或指针使用成员访问运算符访问,类型成员则…...
git仓库代码克隆
说明: 由于服务项目的厂商不同且需求不断变化且交付周期临近,所以想把之前一个仓库的代码弄到一个新的仓库,待交付完毕后再进行代码整合。 第一步 先创建一个远程仓库用来放你要克隆的代码。 第二步 克隆一份裸版本代码库 git clone --ba…...

AM@向量代数@向量基本概念和向量线性运算
文章目录 abstract向量的基本概念向量向量的坐标分解式和坐标👺向量的模向量的长度(大小)👺零向量单位向量👺方向向量非零向量的单位向量正规化向量夹角👺 向量方向角和向量间夹角投影几何描述向量的线性运算向量的加减运算向量的…...
2023-11-08 LeetCode每日一题(最长平衡子字符串)
2023-11-08每日一题 一、题目编号 2609. 最长平衡子字符串二、题目链接 点击跳转到题目位置 三、题目描述 给你一个仅由 0 和 1 组成的二进制字符串 s 。 如果子字符串中 所有的 0 都在 1 之前 且其中 0 的数量等于 1 的数量,则认为 s 的这个子字符串是平衡子…...

Web3.0的测试题
任务: 在前端开发一个查询UI,查询当前用户账户的ETH余额和指定ERC20合约中的余额 目标: UI框架指定使用 MUI (https://mui.com)需要查询到当前账户的ETH余额并展示在UI界面上需要输入ERC20合约地址后,查询到到当前账户在此ERC20…...

Javascript知识点详解:对象的继承、原型对象、原型链
目录 对象的继承 原型对象概述 构造函数的缺点 prototype 属性的作用 原型链 constructor 属性 instanceof 运算符 构造函数的继承 多重继承 对象的继承 面向对象编程很重要的一个方面,就是对象的继承。A 对象通过继承 B 对象,就能直接拥有 B …...

学之思开源考试系统部署至Centos7
学之思开源考试系统部署至Centos7 1、下载源码 源码下载: https://gitee.com/mindskip/xzs-mysql 数据库脚本下载: https://www.mindskip.net:999/ 2、项目打包 分别在\source\vue\xzs-student目录和source\vue\xzs-admin目录,执行前端打…...
如何利用浏览器的可见性API优化网站性能
最近在使用微软AI聊天工具Bing时,发现一个有趣的东西。我向它提问后,它在持续输出的过程中,如果我离开了当前它的浏览器会话,比如切屏,看当前浏览器的其它标签页,它会默认停止它的输出,等我回来…...

还不知道IP地址不够用是怎么被大牛们解决的?(NAT/NAPT, IPv6, DHCP)
文章目录 前言1. DHCP网络管理协议什么是 DHCPDHCP 两种分配机制 2. NAT网络地址转换协议什么是 NATNAT 技术使用NAT网络设备间如何通信两个内网设备相互通信不同内网中的设备相互通信NAT IP转换过程 NAPT 技术NAT 技术的缺陷 3. IPv6 协议什么是 IPv6 总结 前言 在之前的文章…...

使用决策树预测隐形眼镜类型
任务描述 本关任务:编写一个例子讲解决策树如何预测患者需要佩戴的隐形眼镜类型。使用小数据集,我们就可以利用决策树学到很多知识:眼科医生是如何判断患者需要佩戴的镜片类型,一旦理解了决策树的工作原理,我们甚至也…...

[ACTF2020 新生赛]BackupFile 1
题目环境: 好好好,让找源文件是吧?咱们二话不说直接扫它后台 使用dirsearch工具扫描网站后台(博主有这个工具的压缩包,可以私聊我领取)python dirsearch.py -u http://0d418151-ebaf-4f26-86b2-5363ed16530…...
解决vuex刷新数据丢失
Vuex 是一个 Vue.js 的状态管理库,它使得你可以在 Vue 组件之间共享状态。当你在 Vuex 中更新状态时,如果你遇到数据丢失或数据不一致的问题,可能需要进行深度复制或者使用其他方式来确保数据的完整性。 假设你有一个 Vuex 存储,…...

linux系统下读取当前硬盘的温度
这个其实很简单,借助于smartctl工具(Ubuntu默认安装好了),标红的部分就是当前温度,单位是摄氏度。 sudo smartctl -l scttempsts /dev/sda...
OpenLayers 可视化之热力图
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 热力图(Heatmap)又叫热点图,是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...
【杂谈】-递归进化:人工智能的自我改进与监管挑战
递归进化:人工智能的自我改进与监管挑战 文章目录 递归进化:人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管?3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...
Linux链表操作全解析
Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表?1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...
ES6从入门到精通:前言
ES6简介 ES6(ECMAScript 2015)是JavaScript语言的重大更新,引入了许多新特性,包括语法糖、新数据类型、模块化支持等,显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var…...

React第五十七节 Router中RouterProvider使用详解及注意事项
前言 在 React Router v6.4 中,RouterProvider 是一个核心组件,用于提供基于数据路由(data routers)的新型路由方案。 它替代了传统的 <BrowserRouter>,支持更强大的数据加载和操作功能(如 loader 和…...

visual studio 2022更改主题为深色
visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中,选择 环境 -> 常规 ,将其中的颜色主题改成深色 点击确定,更改完成...
django filter 统计数量 按属性去重
在Django中,如果你想要根据某个属性对查询集进行去重并统计数量,你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求: 方法1:使用annotate()和Count 假设你有一个模型Item,并且你想…...
python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)
更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...
Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!
一、引言 在数据驱动的背景下,知识图谱凭借其高效的信息组织能力,正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合,探讨知识图谱开发的实现细节,帮助读者掌握该技术栈在实际项目中的落地方法。 …...
AspectJ 在 Android 中的完整使用指南
一、环境配置(Gradle 7.0 适配) 1. 项目级 build.gradle // 注意:沪江插件已停更,推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...