美文网首页
[LeetCode]451. Sort Characters B

[LeetCode]451. Sort Characters B

作者: Eazow | 来源:发表于2017-05-27 12:37 被阅读101次
    题目

    Given a string, sort it in decreasing order based on the frequency of characters.

    Example 1:

    Input:
    "tree"
    Output:
    "eert"
    Explanation:
    'e' appears twice while 'r' and 't' both appear once.
    So 'e' must appear before both 'r' and 't'. Therefore "eetr" is also a valid answer.
    

    Example 2:

    Input:
    "cccaaa"
    Output:
    "cccaaa"
    Explanation:
    Both 'c' and 'a' appear three times, so "aaaccc" is also a valid answer.
    Note that "cacaca" is incorrect, as the same characters must be together.
    

    Example 3:

    Input:
    "Aabb"
    Output:
    "bbAa"
    Explanation:
    "bbaA" is also a valid answer, but "Aabb" is incorrect.
    Note that 'A' and 'a' are treated as two different characters.
    
    难度

    Medium

    方法

    对每个字符次数统计,排序后组成新的字符串即可。借用python的Countermost_common()方法,非常简单

    python代码
    import collections
    
    class Solution(object):
        def frequencySort(self, s):
            """
            :type s: str
            :rtype: str
            """
    
            return "".join([char*times for char, times in collections.Counter(s).most_common()])
    
    assert Solution().frequencySort("ttreee") == "eeettr"
    

    相关文章

      网友评论

          本文标题:[LeetCode]451. Sort Characters B

          本文链接:https://www.haomeiwen.com/subject/xdcqfxtx.html