📅  最后修改于: 2023-12-03 15:21:11.587000             🧑  作者: Mango
WIPRO 安置纸是一道用于笔试的编程题目。该题目通常被用于筛选出具有编程基础和逻辑思维能力的程序员。该题目是一道纯算法题目,需要考生通过编写程序来实现题目要求的功能。考生需要使用的编程语言可以自行选择。
题目的要求是给定一个字符串,其中包含不同的英文字母。要求将这些英文字母按照出现次数从多到少排序,并输出排序后的结果。如果多个字母出现次数相同,则按照字母的 ASCII 码从小到大排序。
输入:'abracadabra'
输出:
a 5
b 2
r 2
c 1
d 1
该题目主要考察编程能力和算法思维能力。考生需要具备以下技能:
该题目的难度属于入门级别,对于有一定编程基础和算法基础的考生来说,应该不难完成该题目。但是,考生需要有足够的耐心和细心,避免由于一些小错误导致程序无法运行。
以下是一个 Python 语言实现的答案,仅供参考。
def sort_letters(s):
# 使用字典来存储每个字母出现的次数
d = {}
for c in s:
d[c] = d.get(c, 0) + 1
# 使用元组的列表存储字母和出现次数
l = [(c, d[c]) for c in d]
# 使用 sort 方法按照要求排序
l.sort(key=lambda x: (-x[1], x[0]))
# 输出排序结果
for c, cnt in l:
print(c, cnt)
WIPRO 安置纸 1 |笔试是一道比较典型的编程算法题目。通过对该题目的学习和思考,考生可以提高自己的编程能力和算法思维能力,为今后的软件开发工作打下坚实的基础。