public class Solution {
public string FrequencySort(string s) {
var dic = new Dictionary<char, int>();
foreach (var c in s)
{
if (!dic.ContainsKey(c))
{
dic.Add(c, );
}
else
{
dic[c]++;
}
} var list = dic.OrderByDescending(x => x.Value).ToList();
StringBuilder sb = new StringBuilder();
foreach (var l in list)
{
var cha = l.Key;
var times = l.Value;
while (times > )
{
sb.Append(cha);
times--;
}
}
return sb.ToString();
}
}

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

补充一个python的实现:

 import collections

 class Solution:
def frequencySort(self, s: str) -> str:
count = collections.Counter(s)
li = sorted(count.items(), key=lambda d:d[], reverse = True)
result = ''
for i in range(len(li)):
result += li[i][] * li[i][]
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. ubuntu下erlang man的安装

    下载 http://www.erlang.org/download/otp_doc_man_17.1.tar.gz 找到erlang 安装目录 解压 otp_doc_man_17.1.tar.gz s ...

  2. [译]HIPAA要求的SSL/TLS等级

    原文链接:https://luxsci.com/blog/level-ssl-tls-required-hipaa.html 原文发表时间:2015.1.13 本博文仅仅是上述原文的翻译,仅供研究参考 ...

  3. webdriver元素定位

    #1 通过id定位 driver.find_element_by_id("pop_setting_save").click() #2 通过name定位 driver.find_el ...

  4. Cookie用法

    //写入 protected void Button1_Click(object sender, EventArgs e) { HttpCookie cookie=new HttpCookie(&qu ...

  5. objectForKey与valueForKey在NSDictionary中的差异

    从 NSDictionary 取值的时候有两个方法,objectForKey: 和 valueForKey:,这两个方法具体有什么不同呢? 先从 NSDictionary 文档中来看这两个方法的定义: ...

  6. 《DSP using MATLAB》示例9.2

    代码: %% ------------------------------------------------------------------------ %% Output Info about ...

  7. c++深拷贝/浅拷贝

    拷贝构造函数,是一种特殊的构造函数,它由编译器调用来完成一些基于同一类的其他对象的构建及初始化.其唯一的参数(对象的引用)是不可变的(const类型).此函数经常用在函数调用时用户定义类型的值传递及返 ...

  8. [深度学习]Python/Theano实现逻辑回归网络的代码分析

    2014-07-21 10:28:34 首先PO上主要Python代码(2.7), 这个代码在Deep Learning上可以找到. # allocate symbolic variables for ...

  9. 1、Docker学习笔记

    Docker是一个基于LXC 的高级容器引擎,源代码托管在 GitHub 上, 基于Go语言开发并遵从Apache 2.0协议开源.它是一个开发的平台,用来为开发者和系统管理员构建.发布和运行分布式应 ...

  10. 基于标准库的string类实现简单的字符串替换

    感觉基本功还是不扎实,虽然能做些程序但是现在看来我还是个初学者(primer),试着完成习题结果还得修修改改. 废话不多说,实现功能很简单,<C++ Primer>9.5.2节习题. // ...