【华为机试真题详解】字符统计及重排

本文详细解析华为机试中的一道题目,要求统计字符串内字母出现次数并按频率和字母顺序排序。提供了非最优解的Python实现,使用了collections库和sorted函数进行计数和排序。
摘要由CSDN通过智能技术生成


前言

《华为机试真题详解 Python实现》专栏含牛客网华为专栏、华为面经试题、华为OD机试真题。

如果您在准备华为的面试,期间有想了解的可以私信我,我会尽可能帮您解答,也可以给您一些建议!

本文解法非最优解(即非性能最优)。

题目描述

给出⼀个仅包含字⺟的字符串,不包含空格,统计字符串中各个字⺟(区分⼤⼩写)出现的次数,并按照字⺟出现次数从⼤到⼩的顺序输出各个字⺟及其出现次数。

如果次数相同,按照⾃然顺序进⾏排序,且⼩写字⺟在⼤写字⺟之前。

输⼊描述:
输⼊⼀⾏,为⼀个仅包含字⺟的字符串。

输出描述:
按照字⺟出现次数从⼤到⼩的顺序输出各个字⺟和字⺟次数,⽤英⽂分号分隔,注意末尾的分号;字⺟和次数间⽤英⽂冒号分隔。

示例1

输入:
xyxyXX

输出:
x:2;y:2;X:2

参考代码

统计字符出现的次数并要次数和字符顺序对输出字符串排序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

不太灵光的程序员

有用的话可以请博主喝杯咖啡续命

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

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

打赏作者

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

抵扣说明:

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

余额充值