文档章节

输出字符串中出现次数最多的字符

ricardohn
 ricardohn
发布于 2016/05/10 10:38
字数 258
阅读 27
收藏 0

题目:输出给定字符串中出现次数最多 的字符(不论大小写),字符串中可能存在大小写,当存在出现次数一样的字符,此时按照字符在字母表中的顺序输出位于字母表前面的字符。

import string
def checkio(text):
    alpha=['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
    #replace this for solution
    #最简洁的解决代码为一下注释的三行即可
    #text=text.lower()
    #alpha=string.ascii_lowercase
    #return max(alpha,key=text.count)

    max_str=[0,0]
    for i in range(26):
        if text.lower().count(alpha[i]) > max_str[1] :
             max_str[0]=alpha[i]
             max_str[1]=text.lower().count(alpha[i])
    return max_str[0]


if __name__ == '__main__':
    #These "asserts" using only for self-checking and not necessary for auto-testing
    assert checkio("Hello World!") == "l", "Hello test"
    assert checkio("How do you do?") == "o", "O is most wanted"
    assert checkio("One") == "e", "All letter only once."
    assert checkio("Oops!") == "o", "Don't forget about lower case."
    assert checkio("AAaooo!!!!") == "a", "Only letters."
    assert checkio("abe") == "a", "The First."
    print("Start the long test")
    assert checkio("a" * 9000 + "b" * 1000) == "a", "Long."
    print("The local tests are done.")

 

© 著作权归作者所有

ricardohn
粉丝 1
博文 76
码字总数 30236
作品 0
成都
私信 提问
百练 2742: 统计字符数 之 Java 解答

http://bailian.openjudge.cn/practice/2742/ 描述 判断一个由a-z这26个字符组成的字符串中哪个字符出现的次数最多 输入 第1行是测试数据的组数n,每组测试数据占1行,是一个由a-z这26个字符...

圣洁之子
2016/07/20
64
0
LeetCode算法题-Most Common Word(Java实现)

这是悦乐书的第321次更新,第342篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第190题(顺位题号是819)。给定一个段落和一组禁止词,返回不在禁止词列表中的最常用词。段落...

小川94
04/30
0
0
LeetCode算法题-Jewels and Stones(Java实现)

这是悦乐书的第313次更新,第334篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第182题(顺位题号是771)。字符串J代表珠宝,S代表你拥有的石头。S中的每个字符都是你拥有的一...

小川94
04/22
0
0
grep系的介绍及正则表达式详解

文本处理工具: 全屏编辑器:vim,nano 行编辑器: 文本处理三剑客:grep系列,sed,awk grep系列:grep,egrep,fgrep;统称为文件搜索工具;基于PATTERN(模式)对于给定的文本文件进行模糊搜...

花花很漂漂
2017/11/16
0
0
python 根据两个字段排序, 一个升序, 一个降序

hackerrank 中有这样一个题: 给定一个字符串, 输出出现次数最多的前三个字符, 若两字符出现次数相同, 则按字典顺序排列. # 样例输入 aabbbccde 样例输出 b 3a 2c 2 就是先将第二字段降序排序...

好铁
2016/03/04
887
0

没有更多内容

加载失败,请刷新页面

加载更多

如何设计抗住100亿次请求的抢红包系统?(附GitHub代码)

1. 前言 前几天,偶然看到了 《扛住100亿次请求——如何做一个“有把握”的春晚红包系统”》一文,看完以后,感慨良多,收益很多。 正所谓他山之石,可以攻玉,虽然此文发表于2015年,我看到...

Java程序员之家
42分钟前
3
0
动图+源码,演示Java中常用数据结构执行过程及原理

最近在整理数据结构方面的知识, 系统化看了下Java中常用数据结构, 突发奇想用动画来绘制数据流转过程. 主要基于jdk8, 可能会有些特性与jdk7之前不相同, 例如LinkedList LinkedHashMap中的双向...

Java技术剑
今天
4
0
怎样在ps中制作对话气泡?一招教你轻松解决

PS是在工作中经常使用的平面设计软件,利用ps可以实现很多操作。换天,换发色,添加亮灯等操作都是比较常见的,今天将为大家分享怎样在ps中制作对话气泡的方法,希望能给大家带来帮助。 绘制...

干货趣分享
今天
2
0
EDI 电子数据交换全解指南

EDI(Electronic Data Interchange,电子数据交换)技术使得企业与企业(B2B)实现通信自动化,帮助交易伙伴和组织更快更好地完成更多工作,并消除了人工操作带来的错误。从零售商到制造商、物...

EDI知行软件
今天
3
0
CentOS7的LVM动态扩容

# 问题 CentOS7上面的磁盘空间有点紧张,需要扩容。 解决 查询当前磁盘状态 [root@xxx ~]# lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTfd0 2:0 1 4K ...

亚林瓜子
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部