451. Sort Characters By Frequency
題目鏈接:https://leetcode.com/problems...
hashmap求frequency加排序,排序可以用bucket sort or heap sort。
bucket sort:
public class Solution { public String frequencySort(String s) { Mapmap = new HashMap(); int max = 0; for(char c : s.toCharArray()) { map.put(c, map.getOrDefault(c, 0) + 1); max = Math.max(map.get(c), max); } List [] bucket = new List[max + 1]; int count = 0; for(char c : map.keySet()) { int index = map.get(c); if(bucket[index] == null) bucket[index] = new ArrayList(); bucket[index].add(c); count++; } StringBuilder sb = new StringBuilder(); sb.append(""); for(int i = bucket.length-1; i >= 0; i--) { if(bucket[i] != null) { for(char c : bucket[i]) { for(int j = 0; j < i; j++) sb.append(c); count--; } if(count == 0) break; } } return sb.toString(); } }
heap sort參考discussion:
https://discuss.leetcode.com/...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/66656.html
Problem 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 app...
摘要:題目要求將字符串按照每個字母出現的次數,按照出現次數越多的字母組成的子字符串越靠前,生成一個新的字符串。這里要注意大小寫敏感。以此循環,直到將所有的字母都輸出。 題目要求 Given a string, sort it in decreasing order based on the frequency of characters. Example 1: Input: tree ...
摘要:因此導致亂碼的真正原因就是各平臺間對標準實現不一致包括實現的時間先后不同,以及所代表含義不同。日本幾家公司各自定義了一套標準,用兩個字節表示符號,日本電腦系統的一種編碼編碼是從到。在上找到了與標準的對應關系。 歡迎關注個人網站:http://www.iamaddy.net/2016/07/emoji-unicode-parser/ 前言 這是一個由亂碼引發的故事。抱歉我暫時找不到更加慘...
摘要:將就用一下,能實現相同的功能就可以了。的方法可以從返回最大值,但是新版中的不行,只能通過這樣的方式返回最大值。 前篇 使用React、Node.js、MongoDB、Socket.IO開發一個角色投票應用的學習過程(一)使用React、Node.js、MongoDB、Socket.IO開發一個角色投票應用的學習過程(二) 原文第十三步,Express API路由 第一個路由是用來創建角...
閱讀 2170·2021-11-25 09:43
閱讀 2249·2021-11-24 09:39
閱讀 1540·2021-11-22 12:02
閱讀 2984·2021-11-17 09:33
閱讀 3408·2021-11-15 11:38
閱讀 2718·2021-10-13 09:40
閱讀 1065·2021-09-22 15:41
閱讀 1687·2019-08-30 10:58