Nmap mysql Netty random dll clojure tags rss vue响应式 vue树形菜单 vue提交表单 bootstrap模板 less官网 外卖系统源码 mysql倒序 etc文件夹 升级python版本 python配置 python安装教程 python库 random函数用法 python入门例子 python调用命令行 java重写和重载 java基础数据类型 java初级教程 java基本数据结构 java创建目录 java开发语言 linuxcat命令 战地女记者 战地2单机地图 远程桌面管理软件 暴力猴插件 js代码混淆工具 ps出血 无主之地2联机超时 oemdiy 文件批量更名 omg小北
当前位置: 首页 > 学习教程  > python

蓝桥杯每日一题(30)单词分析(python)

2021/2/8 12:25:27 文章标签: 测试文章如有侵权请发送至邮箱809451989@qq.com投诉后文章立即删除

Topic 试题 G: 单词分析 时间限制: 1.0s 内存限制: 512.0MB 本题总分:20 分 【问题描述】 小蓝正在学习一门神奇的语言, 这门语言中的单词都是由小写英文字母组成, 有些单词很长,远远超过正常英文单词的长度。 小蓝学了很长时间也…

Topic

试题 G: 单词分析
时间限制: 1.0s 内存限制: 512.0MB 本题总分:20 分

【问题描述】

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

【输入格式】

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

【输出格式】

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

【样例输入】

lanqiao

【样例输出】

a
2

【样例输入】

longlonglongistoolong

【样例输出】

o
6

【评测用例规模与约定】

对于所有的评测用例,输入的单词长度不超过 1000。

Solution_1

蓝桥杯算法题, 输入格式可参考蓝桥杯通用输入模板

首先将输入字符串
用a记录word中的字母出现的次数

之后不断遍历word中的字母
判断word中的字母出现的次数cou
将a与cou进行比较选择较大的值
这里选用if语句
为什么选择if判断语句而不是max函数
同时将较大的值对应的字母放置在data中

最后第一行打印字母
第二行打印字母出现的次数

Code_1

word = str(input())
a = 0
data = []

for i in word:
    cou = word.count(i)
    if cou > a:
        data = [i]
        a = cou


print(data[0])
print(a)

Solution_2

第二种方法同样是运用count函数
但进行了优化

我们可以对a到z中每个字母在data中寻找出现的次数
之后与方法一中的思路一样

最后第一行打印字母
第二行打印字母出现的次数

只要输入的字符的长度大于26
第二种方法效率显然就会更高

Code_2

word = str(input())
data = 'abcdefghijklmnopqrstuvwxyz'
out = []
res = 0

for i in data:
    a = word.count(i)
    if a > res:
        out = [i]
        res = a

print(out[0])
print(res)

本文链接: http://www.dtmao.cc/news_show_2000335.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?