1. public class Solution {
  2. public string FrequencySort(string s) {
  3. var dic = new Dictionary<char, int>();
  4. foreach (var c in s)
  5. {
  6. if (!dic.ContainsKey(c))
  7. {
  8. dic.Add(c, );
  9. }
  10. else
  11. {
  12. dic[c]++;
  13. }
  14. }
  15.  
  16. var list = dic.OrderByDescending(x => x.Value).ToList();
  17. StringBuilder sb = new StringBuilder();
  18. foreach (var l in list)
  19. {
  20. var cha = l.Key;
  21. var times = l.Value;
  22. while (times > )
  23. {
  24. sb.Append(cha);
  25. times--;
  26. }
  27. }
  28. return sb.ToString();
  29. }
  30. }

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

补充一个python的实现:

  1. import collections
  2.  
  3. class Solution:
  4. def frequencySort(self, s: str) -> str:
  5. count = collections.Counter(s)
  6. li = sorted(count.items(), key=lambda d:d[], reverse = True)
  7. result = ''
  8. for i in range(len(li)):
  9. result += li[i][] * li[i][]
  10. return result

leetcode451的更多相关文章

  1. [Swift]LeetCode451. 根据字符出现频率排序 | Sort Characters By Frequency

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

  2. c++如何按照map的value进行排序?

    static bool cmp(pair<char, int> a , pair<char,int> b) { return a.second>b.second; //按 ...

随机推荐

  1. 【剑指offer】04A二维数组中的查找,C++实现

    1.题目 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数数组和一个整数,判断数组中是否含有该整数. 2.思路 首先选取数 ...

  2. 【剑指offer】不用加减乘除做加法,C++实现

    原创博文,转载请注明出处! # 题目 # 思路 第一步:不考虑进位对每一位相加(异或操作) 第二步:考虑进位(位与运算+左移) 第三步:第一步和第二步相加(重复执行前两步) # 代码 #include ...

  3. linux下vi命令(转)

    进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后 ...

  4. javascript 小代码

    if(!("a" in window)){ var a =1; } alert(a); //undefined var a = 1,b=function a (x){ x & ...

  5. Filter学习(三)Filter(过滤器)常见应用

    一.统一全站字符编码 通过配置参数charset指明使用何种字符编码,以处理Html Form请求参数的中文问题: package com.web.filter; import java.io.IOE ...

  6. 解决大于 4GB 的 Windows 10 镜像在 UEFI 模式下的安装问题

    制作一个 Windows 安装 U 盘是很容易的,使用 UltraISO 这样的刻录工具量产一个 iso 镜像文件到 U 盘即可.然而随着 Windows 10 版本号的提升,镜像变得越来越大,终于 ...

  7. 《DSP using MATLAB》示例Example 8.20

    %% ------------------------------------------------------------------------ %% Output Info about thi ...

  8. java基本类型和封装类型区别及应用

    1.基本类型只能按值传递,而每个基本类型对应的封装类是按引用传递的. 2.从性能上说java中的基本类型是在堆栈上创建的,而所有的对象类型都是在堆上创建的,(对象的引用在堆栈上创建).比如 Integ ...

  9. drill 数据源配置

    1. mongodb { "type":"mongo", "connection":"mongodb://user:passwor ...

  10. linux的mysql

    mysql https://www.cnblogs.com/cnblogsfans/archive/2009/09/21/1570942.html https://blog.csdn.net/Smal ...