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

UVa 499 What‘s The Frequency Kenneth

题目描述

题目要求统计每行文本中每个字母(大小写分别统计)出现的频率,并输出出现次数最多的字母(按先大写后小写的字母顺序排列),以及该频率。

输入格式

输入包含多行文本,每行可能包含任意可打印字符。输入以文件结束符(EOF\texttt{EOF}EOF)终止。

输出格式

对于每行输入,输出一行,包含出现频率最高的字母(按字母顺序,先大写后小写)以及该频率,格式如e 6al 7

样例

输入

When riding your bicycle backwards down a one-way street, if the wheel falls of a canoe, how many ball bearings does it take to fill up a water buffalo? Hello Howard.

输出

e 6 al 7 a 3 Hlo 2

题目分析

本题的核心是统计每行中字母的频率,并找出最高频率对应的字母集合。

算法步骤

  1. 初始化长度为525252的计数数组,索引0∼250 \sim 25025对应大写字母A∼Z\texttt{A} \sim \texttt{Z}AZ,索引26∼5126 \sim 512651对应小写字母a∼z\texttt{a} \sim \texttt{z}az
  2. 遍历行中每个字符:
    • 若为大写字母,对应索引ch−’A’\textit{ch} - \texttt{'A'}ch’A’111
    • 若为小写字母,对应索引ch−’a’+26\textit{ch} - \texttt{'a'} + 26ch’a’+26111
  3. 找出计数数组的最大值maxFreq\textit{maxFreq}maxFreq
  4. 遍历索引000515151,若计数等于maxFreq\textit{maxFreq}maxFreq,则输出对应的字母。
  5. 输出空格和maxFreq\textit{maxFreq}maxFreq

复杂度分析

每行字符处理一次,时间复杂度O(L)O(L)O(L)

代码实现

// What's The Frequency, Kenneth?// UVa ID: 499// Verdict: Accepted// Submission Date: 2016-07-13// UVa Run Time: 0.000s//// 版权所有(C)2016,邱秋。metaphysis # yeah dot net#include<bits/stdc++.h>usingnamespacestd;intmain(intargc,char*argv[]){ios::sync_with_stdio(false);string line;while(getline(cin,line)){vector<int>counter(52);fill(counter.begin(),counter.end(),0);for(inti=0;i<line.length();i++)if(islower(line[i]))counter[line[i]-'a'+26]++;elseif(isupper(line[i]))counter[line[i]-'A']++;intmax_frequency=*max_element(counter.begin(),counter.end());for(inti=0;i<counter.size();i++)if(counter[i]==max_frequency)cout<<(char)((i<26?'A':'a')+(i<26?i:(i-26)));cout<<" "<<max_frequency<<endl;}return0;}
http://www.cnnetsun.cn/news/2930473.html

相关文章:

  • why does she think
  • LabelImg闪退别重装!Python 3.10下这个canvas.py文件bug的精准修复指南
  • 3PEAK思瑞浦 TPA1286U-VS1R MSOP8 精密运放
  • 2026 Excel转TXT详细教程:手把手教你3种方法步骤
  • 2026免费JPG转换软件推荐:电脑手机在线保姆级教程
  • 交通事故识别 车辆碰撞检测 碰撞报警识别 智慧城市治理
  • 基于YOLO系列草莓识别 深度学习的智慧农业草莓成熟度目标检测系统
  • Anthropic最强模型Claude Fable 5上线4天被美国政府强制下线,背后风波耐人寻味
  • 深入芯片内部:SkyEye仿真FT-M6678 DSP时,如何观察ReWorks任务调度与内存状态?
  • NLP动态知识切片系统:面向研究者的可编程领域感知基础设施
  • 假新闻检测实战:模型选型与超参数优化的工程化路径
  • 别再为vCenter HA网络配置头疼了!保姆级教程:从零配置管理网卡和HA私网VLAN
  • Hitboxer:终极游戏按键冲突优化工具,彻底解决SOCD问题
  • 开源罗技鼠标宏:3步掌握PUBG精准压枪技巧
  • 别小看这颗2.2nF电容!手把手教你排查MPU6050‘有ID无数据’的经典硬件故障
  • RK3588 Qt开发避坑实录:如何正确引入MPP、FFmpeg等SDK库到Qt5.12.10项目(附完整.pri配置)
  • 3步完成微信数据库本地解密:免费恢复聊天记录的完整指南
  • Spyder里报错‘No module named gurobipy’?别慌,手把手教你搞定Python环境与Gurobi的配置
  • InfluxDB Studio:Windows平台时间序列数据库图形化管理工具完整教程
  • Vivado里信号总被优化掉?试试DONT_TOUCH属性的正确打开方式(附代码对比)
  • 营业执照丢失怎么登报声明?营业执照丢失登报挂失的流程是什么?
  • N32G45X调试接口配置避坑指南:SWD模式、JTAG模式与IO释放的三种实战场景
  • 计算机毕业设计之网页小说阅读系统
  • 老师们试试录音AI,2026年讲座网课都能轻松整理
  • 专业音频解密解决方案:QMCDecode完全使用指南
  • 深入解析RePKG:如何构建稳定的Wallpaper Engine资源处理管道
  • 【粉丝福利社】计算机视觉:YOLO目标检测原理与实践
  • 4步构建你的游戏本地化系统:XUnity.AutoTranslator实战指南
  • HFSS仿真报错别慌!手把手教你搞定‘Acis error’、‘Local Machine’等5个高频错误
  • 告别LVDS!用JESD204B接口搞定高速ADC数据采集,实测Xilinx GT收发器配置