华为OD机试 - 字母计数(Python)| 真题+思路+代码

本文详细介绍了华为OD机试中的一道字母计数问题,提供了题目描述、输入输出示例及解题思路。通过Python实现,强调了lambda匿名函数在统计和排序过程中的应用。同时,文章还分享了修复后的代码运行结果和版权说明。
摘要由CSDN通过智能技术生成

OD统一机试:字母计数

题目

给出一个只包含字母的字符串,
不包含空格,统计字符串中各个子字母(区分大小写)出现的次数,
并按照字母出现次数从大到小的顺序输出各个字母及其出现次数,
如果次数相同,按照自然顺序排序,且小写字母在大写字母之前。

输入

输入一行仅包含字母的字符串

输出

按照字母出现次数从大到小的顺序输出各个字母和字母次数,
用英文分号分割,
注意末尾的分号,字母和次数中间用英文冒号分隔

示例一

输入

xyxyXX

输出

x:2;y:2;X:2;

说明

每个字符出现的次数为 2x 排在 y 之前
而小写字母 x 在大写 X 之前

示例二

输入

abababb

输出

b:4;a:3;

说明

b 的出现个数比 a 多 故排在 a

解题思路

统计输入字符串中每个字符的出现次数,并以出现次数和字符的 ASCII 码为关键字对统计结果进行排序,最后以字符:出现次数; 的形式输出。

核心知识点

lambda 匿名函数的使用。

Python 代码实现

def solve_method(line):
    char_count = {
   }
    for c in line:
        
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦想橡皮擦

如有帮助,来瓶可乐

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>