zoukankan      html  css  js  c++  java
  • #Leetcode# 451. Sort Characters By Frequency

    https://leetcode.com/problems/sort-characters-by-frequency/

    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.

    代码:

    class Solution {
    public:
        string frequencySort(string s) {
            string ans = "";
            int len = s.length();
            unordered_map<char, int> mp;
            priority_queue<pair<int, char> > q;
            
            for(int i = 0; i < len; i ++)
                mp[s[i]] ++;
            
            for(auto i : mp)
                q.push({i.second, i.first});
            
            while(!q.empty()) {
                int k = q.top().first;
                char c = q.top().second;
                for(int i = 0; i < k; i ++)
                    ans += c;
                q.pop();
            }
            
            return ans;
        }
    };
    

      优先队列

     明天就肥家放假啦

  • 相关阅读:
    什么是缓存?
    什么是反射?
    Nginx配置文件详解
    数据库插入,修改出现中文乱码解决办法
    hadoop的HA机制+zookeeper
    cascading--wordcount
    心情3
    完成用户登录注册功能
    感慨1
    Swing程序设计-初级
  • 原文地址:https://www.cnblogs.com/zlrrrr/p/10339708.html
Copyright © 2011-2022 走看看