日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

451 Sort Characters By Frequency

發布時間:2025/3/20 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 451 Sort Characters By Frequency 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

451. Sort Characters By Frequency

先統計次數,再按次數構造新的string。思路沒什么難,寫起來還有點麻煩。用了priorityqueue。。

class Wrapper {public char c;public int freq;public Wrapper(char c, int freq) {this.c = c;this.freq = freq;}}public String frequencySort(String s) {if (s==null || s.length() == 0) return "";Map<Character, Integer> map = new HashMap<>();Set<Character> set = new HashSet<>();for (int i = 0; i < s.length(); i++) {int count = map.getOrDefault(s.charAt(i), 0);map.put(s.charAt(i), ++count);set.add(s.charAt(i));}PriorityQueue<Wrapper> pq = new PriorityQueue<>(new Comparator<Wrapper>() {@Overridepublic int compare(Wrapper o1, Wrapper o2) {return o1.freq - o2.freq;}});for (char c : set) {pq.offer(new Wrapper(c, map.get(c)));}StringBuilder sb = new StringBuilder();while (!pq.isEmpty()) {Wrapper w = pq.poll();for (int i = 0; i < w.freq; i++) {sb.insert(0, w.c);}}return sb.toString();} 復制代碼

因為用了PriorityQueue所以復雜度是O(nlogn)。 看了別人的答案,有個是O(n)的,用了數組的index表示出現的次數。而且,我上面用了hashset,因為我不太會hashmap的遍歷,下面的代碼也展示了hashmap的遍歷方法, for(char c : map.keySet()):

public String frequencySort(String s) {if (s == null) {return null;}Map<Character, Integer> map = new HashMap();char[] charArray = s.toCharArray();int max = 0;for (Character c : charArray) {if (!map.containsKey(c)) {map.put(c, 0);}map.put(c, map.get(c) + 1);max = Math.max(max, map.get(c));}List<Character>[] array = buildArray(map, max);return buildString(array); }private List<Character>[] buildArray(Map<Character, Integer> map, int maxCount) {List<Character>[] array = new List[maxCount + 1];for (Character c : map.keySet()) {int count = map.get(c);if (array[count] == null) {array[count] = new ArrayList();}array[count].add(c);}return array; }private String buildString(List<Character>[] array) {StringBuilder sb = new StringBuilder();for (int i = array.length - 1; i > 0; i--) {List<Character> list = array[i];if (list != null) {for (Character c : list) {for (int j = 0; j < i; j++) {sb.append(c);}}}}return sb.toString(); } 復制代碼

轉載于:https://juejin.im/post/5a31340251882531e944cfab

總結

以上是生活随笔為你收集整理的451 Sort Characters By Frequency的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日本资源在线 | 欧美成人dvd在线视频 | 国产尤物在线视频 | 欧美一区二区三区免费 | 少妇又紧又爽视频 | www.操com| 亚洲av无码专区在线播放中文 | 欧美激情视频一区二区 | 婷婷视频在线观看 | 国产激情无套内精对白视频 | 国产精品88久久久久久妇女 | 91色交| 欧美特级特黄aaaaaa在线看 | 人人爽爽爽 | 稀缺小u女呦精品呦 | 色播放 | 三级无遮挡 | 电影寂寞少女免费观看 | 黄色成人影视 | 99久99| 日本黄色录象 | 琪琪秋霞午夜被窝电影网 | 三年中文在线观看免费观看 | 美女100%视频免费观看 | 91激情影院 | 96超碰在线 | 国产女主播自拍 | 免费av免费看 | 久久久999精品视频 国产在线xx | 亚洲视频二| 黑人专干日本人xxxx | 91福利在线视频 | 国产精品日韩精品欧美精品 | 久久精品小视频 | 中文字幕乱码亚洲精品一区 | 久久爱网 | 欧美高清hd18日本 | 天堂俺去俺来也www 欧美大片在线播放 | 欧美做受69 | 欧美理论在线观看 | 国产精品情侣自拍 | 成人免费毛片果冻 | 日本人视频69式jzzij | 天堂中文字幕免费一区 | 欧美77777| 男女那个视频 | 超在线视频| 一起操网站| 三级黄毛片 | 杨幂毛片 | 性做久久久久久久 | 一区二区三区国产 | 午夜一区二区三区在线 | 欧美性猛交xxxx久久久 | 亚洲一区中文字幕永久在线 | 精品久久久中文字幕人妻 | 久久调教 | 国内精品久久久久久久久久久 | 特黄大片又粗又大又暴 | 黄网站在线观看 | 久久久久国产精品熟女影院 | 国产毛片自拍 | 欧美一级片在线 | 国产精品日韩一区 | 豆花视频在线播放 | 91丝袜一区二区三区 | 找个毛片看看 | 99精品福利 | 97超碰碰碰 | 日本在线视频观看 | 日本一级吃奶淫片免费 | 亚洲乱码国产一区三区 | 亚洲一区二区日韩 | 久久白浆 | 人人干人人艹 | 天堂影音 | 多毛的亚洲人毛茸茸 | 国产精品视频一区二区三区在3 | 亚洲第一成人网站 | www狠狠操 | 无码精品久久久久久久 | 久久精品视频在线免费观看 | 亚洲色视频| 性奶老妇 视频 | 校园春色av | 亚州激情视频 | 免费成人美女女电影 | 麻豆乱淫一区二区三区 | www.呦呦 | 日本中文字幕不卡 | 五月花成人网 | 久久的色偷偷 | 欧美在线va | 欧美做受高潮 | 国产成人在线电影 | 99国产精品视频免费观看一公开 | 一道本不卡视频 | 久久久人妻无码一区二区 | 欧美精品卡一卡二 |