leetcode451
- 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的更多相关文章
- [Swift]LeetCode451. 根据字符出现频率排序 | Sort Characters By Frequency
Given a string, sort it in decreasing order based on the frequency of characters. Example 1: Input: ...
- c++如何按照map的value进行排序?
static bool cmp(pair<char, int> a , pair<char,int> b) { return a.second>b.second; //按 ...
随机推荐
- 【剑指offer】04A二维数组中的查找,C++实现
1.题目 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数数组和一个整数,判断数组中是否含有该整数. 2.思路 首先选取数 ...
- 【剑指offer】不用加减乘除做加法,C++实现
原创博文,转载请注明出处! # 题目 # 思路 第一步:不考虑进位对每一位相加(异或操作) 第二步:考虑进位(位与运算+左移) 第三步:第一步和第二步相加(重复执行前两步) # 代码 #include ...
- linux下vi命令(转)
进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后 ...
- javascript 小代码
if(!("a" in window)){ var a =1; } alert(a); //undefined var a = 1,b=function a (x){ x & ...
- Filter学习(三)Filter(过滤器)常见应用
一.统一全站字符编码 通过配置参数charset指明使用何种字符编码,以处理Html Form请求参数的中文问题: package com.web.filter; import java.io.IOE ...
- 解决大于 4GB 的 Windows 10 镜像在 UEFI 模式下的安装问题
制作一个 Windows 安装 U 盘是很容易的,使用 UltraISO 这样的刻录工具量产一个 iso 镜像文件到 U 盘即可.然而随着 Windows 10 版本号的提升,镜像变得越来越大,终于 ...
- 《DSP using MATLAB》示例Example 8.20
%% ------------------------------------------------------------------------ %% Output Info about thi ...
- java基本类型和封装类型区别及应用
1.基本类型只能按值传递,而每个基本类型对应的封装类是按引用传递的. 2.从性能上说java中的基本类型是在堆栈上创建的,而所有的对象类型都是在堆上创建的,(对象的引用在堆栈上创建).比如 Integ ...
- drill 数据源配置
1. mongodb { "type":"mongo", "connection":"mongodb://user:passwor ...
- linux的mysql
mysql https://www.cnblogs.com/cnblogsfans/archive/2009/09/21/1570942.html https://blog.csdn.net/Smal ...