📜  门|门 IT 2005 |第 76 题(1)

📅  最后修改于: 2023-12-03 15:42:21.403000             🧑  作者: Mango

题目介绍:门|门 IT 2005 |第 76 题

这道题是2005年门|门 IT的第76题,是一道经典的编程题目。

题目描述

给定一个字符串,把字符串中的字符按照出现次数降序排列,并输出排列后的字符串。

示例

输入:"aabbbcccc" 输出:"ccccbbbaa"

解题思路

首先我们需要统计每个字符出现的次数,可以使用一个数组来存储每个字符出现的次数。然后,我们可以将出现次数作为键,将相应的字符作为值,存储到一个哈希表中。最后,我们可以将哈希表中的元素按照键值降序排列,并输出排列后的字符串。

代码实现

下面是这道题的python代码实现,希望能够帮助大家解决这道题:

def sort_string(s):
    d = {}
    for c in s:
        if c in d:
            d[c] += 1
        else:
            d[c] = 1
    sorted_d = sorted(d.items(), key=lambda x: x[1], reverse=True)
    ret = ''.join([k*v for k, v in sorted_d])
    return ret

以上就是这道题的解题思路和代码实现,希望对大家有所帮助。