前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >算法创作|出现最多的字母解决方法

算法创作|出现最多的字母解决方法

作者头像
算法与编程之美
发布2021-03-30 14:44:28
7180
发布2021-03-30 14:44:28
举报

前言

你知道一个单词中哪个字母出现次数最多吗?

问题描述

小蓝正在学习一门神奇的语言,这门语言中的单词都是由小写英文字母组成,有些单词很长,远远超过正常英文单词的长度。小蓝学了很长时间也记不住一些单词,他准备不再完全记忆这些单词,而是根据单词中哪个字母出现得最多来分辨单词。现在,请你帮助小蓝,给了一个单词后,帮助他找到出现最多的字母和这个字母出现的次数。

要求:

输入一行包含一个单词,单词只由小写英文字母组成。

输出两行,第一行包含一个英文字母,表示单词中出现得最多的字母是哪个。如果有多个字母出现的次数相等,输出字典序最小的那个。第二行包含一个整数,表示出现得最多的那个字母在单词中出现的次数。

示例:

输入: lanqiao

输出:

a

2

解决方案

如果要解决这个问题,就要知道每个字母出现的次数,再进行比较。首先我们不知道由单词是由哪些字母组成的,所以遍历再累加的方法显得太笨拙也不好实现,我们可以利用字典是可变容器以及方便访问的特点,对所遍历到的字母进行计数。

首先建立一个空字典,再将第一次遇到的英文字母放到key中,如果第二次碰到了这个字母,就将所对应的value的值+1,就实现了计数。这样一个字典中就包含了所有字母以及字母所对应的出现次数。

然后我们将出现次数,也就是value的最大值找出来,可以利用max()找到最大值,再打印出所对应的key,也就是所对应的英文字母就可以了。

出现最多的字母解决方法Python代码

代码语言:javascript
复制

s = input(“请输入输入一个单词:”)

d = {}

for i in str(s):

    if d.get(i) == None:

        d[i] = 1

    else:

        d[i] += 1

for key,value in  d.items():

    if value == max(d.values()):

        print(key)

        print(value)

结语

利用字典解决了出现最多次数字母的问题, 在统计次数类的题合理利用字典即可快速得到解决方法。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-03-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法与编程之美 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档