[LeetCode]451. Sort Characters By Frequency
来源:互联网 发布:百度统计地域分布数据 编辑:程序博客网 时间:2024/05/18 02:04
Given a string, sort it in decreasing order based on the frequency of characters.
具体题目要求 :点击打开链接
这是一道运用HashMap的相关基础用法的题。
思路:
1:统计每个字母和出现相应次数;
2:把字母和出现次数的相应关系储存到list里;
3:按出现次数把第二步list里的相应关系按升序排列;
4:对于相应关系,把key一个个存到StringBuilder,转成String输出。
注意:
a.第3步时,Collections.sort()可以按照自然顺序排列,也可以按照指定顺序排列,
若按指定顺序排列,熟悉好此步的匿名内部类写法,也是自己不熟悉的地方;
b.第4步时,第二个for loop是要打印每个字母的次数,提供了此种类型地好想法;
c.总的来说,Map.Entry<Character,Integer>运用键值关系的HashMap取数据方法要从题词中学习到。
public String frequencySort(String s) { HashMap<Character,Integer> map=new HashMap<>(); for(int i=0;i<s.length();i++){ char c=s.charAt(i); if(!map.containsKey(c)){ map.put(c,1); }else{ map.put(c,map.get(c)+1); } } List<Map.Entry<Character, Integer>> list = new LinkedList<>(); for(Map.Entry<Character, Integer> m : map.entrySet()) { list.add(m); } Collections.sort(list, new Comparator<Map.Entry<Character, Integer>>(){ public int compare(Map.Entry<Character, Integer> m1, Map.Entry<Character, Integer> m2) { return m2.getValue()-m1.getValue(); } }); StringBuilder sb = new StringBuilder(); for (Map.Entry<Character, Integer> m : list) { for (int i = 0; i < m.getValue(); i++) { sb.append(m.getKey()); } } return sb.toString(); }
0 0
- LeetCode 451. Sort Characters By Frequency
- [LeetCode]451. Sort Characters By Frequency
- [leetcode] 451. Sort Characters By Frequency
- [LeetCode]451. Sort Characters By Frequency
- LeetCode笔记:451. Sort Characters By Frequency
- LeetCode 451. Sort Characters By Frequency
- 【LeetCode】 451. Sort Characters By Frequency
- [leetcode]451. Sort Characters By Frequency
- Leetcode 451. Sort Characters By Frequency
- Leetcode 451. Sort Characters By Frequency
- Leetcode-451. Sort Characters By Frequency
- LeetCode 451. Sort Characters By Frequency
- LeetCode 451. Sort Characters By Frequency
- LeetCode OJ 451. Sort Characters By Frequency
- leetcode题解-451. Sort Characters By Frequency
- 【Leetcode】451. Sort Characters By Frequency
- LeetCode 451. Sort Characters By Frequency
- leetcode 451. Sort Characters By Frequency
- JavaScript易错知识点整理
- sonar plugin
- JSPatch 常见问题
- 你不懂JS:作用域与闭包 第五章:作用域闭包
- [DB][mybatis]MyBatis mapper文件中的变量引用方式#{}与${}的差别
- [LeetCode]451. Sort Characters By Frequency
- 编写有效用例【笔记整理】
- OWL Web Ontology Language Reference (OWL网页本体语言参考) -简洁版
- 使用MySQL进行全文索引
- 关于BMP文件格式的详解
- 使用ModelDriven接收参数
- mysql 纵表转横表
- 【寒江雪】四大纹理过滤方式和四大寻址模式
- 唯一识别码UUID