博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
451. Sort Characters By Frequency
阅读量:5052 次
发布时间:2019-06-12

本文共 1496 字,大约阅读时间需要 4 分钟。

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. 题目含义:按字母出现次数的降序重排字符串
1     public String frequencySort(String s) { 2         Map
map = new HashMap<>(); 3 for (int i = 0; i < s.length(); i++) { 4 map.put(s.charAt(i), map.getOrDefault(s.charAt(i), 0)+1); 5 } 6 PriorityQueue
> pq = new PriorityQueue<>( 7 new Comparator
>() { 8 @Override 9 public int compare(Map.Entry
a, Map.Entry
b) {10 return b.getValue() - a.getValue();11 }12 }13 );14 pq.addAll(map.entrySet());15 StringBuilder sb = new StringBuilder();16 while (!pq.isEmpty()) {17 Map.Entry
e = pq.poll();18 for (int i = 0; i < e.getValue(); i++) {19 sb.append(e.getKey());20 }21 }22 return sb.toString(); 23 }

 

转载于:https://www.cnblogs.com/wzj4858/p/7719188.html

你可能感兴趣的文章
关于源程序到可运行程序的过程
查看>>
wepy的使用
查看>>
转载:mysql数据库密码忘记找回方法
查看>>
scratch少儿编程第一季——06、人在江湖混,没有背景怎么行。
查看>>
面向对象1
查看>>
在ns2.35中添加myevalvid框架
查看>>
【贪心+DFS】D. Field expansion
查看>>
为什么要使用href=”javascript:void(0);”
查看>>
C# Async与Await的使用
查看>>
Mysql性能调优
查看>>
iOS基础-UIKit框架-多控制器管理-实例:qq界面框架
查看>>
IOS-每个程序员的编程之路上都应该看这11本书
查看>>
自定义tabbar(纯代码)
查看>>
小程序底部导航栏
查看>>
ibatis学习笔记
查看>>
18-ES6(1)
查看>>
poj1611 简单并查集
查看>>
Ubuntu 14.04下安装CUDA8.0
查看>>
跨平台开发 -- C# 使用 C/C++ 生成的动态链接库
查看>>
C# BS消息推送 SignalR介绍(一)
查看>>