zoukankan      html  css  js  c++  java
  • 451.Sort Characters By Frequency(Medium)

    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.

    题意:
    对于一个给定的字符串,将字符按照所出现的次数降序排列

    思路:
    可以考虑先进行字符统计,然后再降序排列

    import collections
    
    class Solution:
        def frequencySort(self, s):
            return ''.join(c * t for c, t in collections.Counter(s).most_common())

    提示:

    在Python中,collections模块下的Counter类(计数器)是一个容器,用来跟踪值出现的次数,是字典dict的子类,用来为hashtable对象计数。

  • 相关阅读:
    乐观锁和悲观锁
    c++ inline使函数实现可以在头文件中,避免多重定义错误
    无锁队列的实现
    同步异步阻塞非阻塞
    log(m+n)找第k大
    ios开发常见的 工具 - 值得收藏
    iOS 性能优化得 方法
    搭建 安卓开发环境 !
    项目支持 64 - bit
    AFN学习笔记
  • 原文地址:https://www.cnblogs.com/yancea/p/7908564.html
Copyright © 2011-2022 走看看