Re: [閒聊] 每日LeetCode已回收

看板Marginalman作者 (みけねこ的鼻屎)時間1年前 (2024/02/07 10:35), 編輯推噓2(200)
留言2則, 2人參與, 1年前最新討論串656/719 (看更多)
https://leetcode.com/problems/sort-characters-by-frequency/description 451. Sort Characters By Frequency 給你一個字串s,把他的所有字元依照出現次數降序排列,如果答案有多個返回任意一個 思路: 1.先數s的每個字元有幾個 2.把s數量大於0的字元(計數索引)丟到MaxHeap依照數量排序 3.不斷從Heap取出字元並append成一個字串即可 Java Code: -------------------------------------------- class Solution { public String frequencySort(String s) { int[] count = new int[252]; for (char c : s.toCharArray()) { count[c]++; } PriorityQueue<Integer> heap = new PriorityQueue<>((a, b) -> count[b] - count[a]); for (int i = 0; i < count.length; i++) { if (count[i] > 0) { heap.offer(i); } } StringBuilder sb = new StringBuilder(); while (!heap.isEmpty()) { int idx = heap.poll(); char ch = (char)(idx); for (int i = 0; i < count[idx]; i++) { sb.append(ch); } } return sb.toString(); } } -------------------------------------------- -- https://i.imgur.com/hhXzZJ3.jpg
-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.100.73.13 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1707273300.A.E5B.html

02/07 10:38, 1年前 , 1F
大師
02/07 10:38, 1F

02/07 10:46, 1年前 , 2F
大師
02/07 10:46, 2F
文章代碼(AID): #1bmknKvR (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1bmknKvR (Marginalman)