面試題---長(zhǎng)字符串中統(tǒng)計(jì)每個(gè)字母出現(xiàn)次數(shù)
發(fā)布時(shí)間:2019-10-15 15:55:44 作者:佚名
我要評(píng)論

這篇文章通過(guò)實(shí)例代碼給大家介紹長(zhǎng)字符串中統(tǒng)計(jì)每個(gè)字母出現(xiàn)次數(shù),在我們的平時(shí)面試中經(jīng)常會(huì)遇到,今天給大家分享出來(lái),感興趣的朋友跟隨小編一起看看吧
長(zhǎng)字符串中統(tǒng)計(jì)每個(gè)字母出現(xiàn)次數(shù)
給定常字符串:abcsdfdjfkdscaaacccbbbkssss
結(jié)果輸出:a(4)b(4)c(5)s(6)d(3)f(2)j(1)k(2)
代碼
import java.util.LinkedHashMap; import java.util.Map; import java.util.Scanner; import java.util.Set; public class MyTest04 { public static void main(String[] args) { // Scanner sc = new Scanner(System.in); // String s = sc.nextLine(); String str="abcsdfdjfkdscaaacccbbbkssss"; LinkedHashMap<Character, Integer> map = new LinkedHashMap<>(); // 字母統(tǒng)計(jì)算法 for (int i = 0; i < str.length(); i++) { char ch=str.charAt(i); if (!map.containsKey(ch)){ map.put(ch,1); }else{ Integer num = map.get(ch); num++; map.put(ch,num); } } // 拼串 StringBuffer sb = new StringBuffer(); Set<Map.Entry<Character, Integer>> entries = map.entrySet(); for (Map.Entry<Character, Integer> entry:entries){ sb.append(entry.getKey()).append("("+entry.getValue()+")"); } System.out.println(sb.toString()); } }
總結(jié)
以上所述是小編給大家介紹的面試題---長(zhǎng)字符串中統(tǒng)計(jì)每個(gè)字母出現(xiàn)次數(shù),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
相關(guān)文章
Axure RP 8怎么使用函數(shù)統(tǒng)計(jì)字符串長(zhǎng)度?
Axure RP 8怎么使用函數(shù)統(tǒng)計(jì)字符串長(zhǎng)度?Axure RP 8想要統(tǒng)計(jì)文本框中輸入的字符串的長(zhǎng)度,該怎么統(tǒng)計(jì)呢?下面我們就來(lái)看看詳細(xì)的教程,很簡(jiǎn)單,需要的朋友可以參考下2017-06-03Linux統(tǒng)計(jì)文件中指定字符串個(gè)數(shù)的2種方法
這篇文章主要介紹了Linux統(tǒng)計(jì)文件中指定字符串個(gè)數(shù)的2種方法,本文分別給出了grep和awk的實(shí)現(xiàn)方法,需要的朋友可以參考下2015-07-08