Leetcode-451. Sort Characters By Frequency
来源:互联网 发布:百姓发帖软件 编辑:程序博客网 时间:2024/05/21 15:50
前言:为了后续的实习面试,开始疯狂刷题,非常欢迎志同道合的朋友一起交流。因为时间比较紧张,目前的规划是先过一遍,写出能想到的最优算法,第二遍再考虑最优或者较优的方法。如有错误欢迎指正。博主首发CSDN,mcf171专栏。
博客链接:mcf171的博客
——————————————————————————————
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.这个想法就是用一个新的类,保存字符是什么,以及当前字符多少个了,最后对于这个List进行排序即可。Your runtime beats 71.22% of java submissions.
public class Solution { public String frequencySort(String s) { Map<Character, Product> map = new HashMap<Character, Product>(); List<Product> list = new ArrayList<Product>(); for(char item : s.toCharArray()){ if(map.containsKey(item)){ Product product = map.get(item); product.sb.append(item); product.count ++; }else{ Product product = new Product(); product.sb.append(item); product.count = 1; list.add(product); map.put(item, product); } } Collections.sort(list, new Comparator<Product>(){ public int compare(Product p1, Product p2){ return p2.count - p1.count; } }); StringBuffer sb = new StringBuffer(""); for(Product item : list){ sb.append(item.sb); } return sb.toString(); } class Product{ int count; StringBuffer sb = new StringBuffer(""); }}
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
- 17 - 03 - 21 图解HTTP(25)
- android获取应用缓存以及删除
- CentOS7用ibus汉语输入法解决
- Android移植librtmp
- 骑士旅行
- Leetcode-451. Sort Characters By Frequency
- WebService概念
- iOS学习笔记01-自定义简单弹出pickerView
- Java 数组
- PCB上的导线 怎么开窗 去掉绿油 把铜皮裸露
- 《Programming Collective Intelligence》笔记之 Chapter 2
- 一步步学ROS(2)建立package
- MAC-OS_10.12小技巧学习wh-01.拖移操作
- 视频跟踪——meanshift算法