快手[程式設計題] 字串歸一化
阿新 • • 發佈:2018-11-11
通過鍵盤輸入一串小寫字母(a~z)組成的字串。
請編寫一個字串歸一化程式,統計字串中相同字元出現的次數,並按字典序輸出字元及其出現次數。
例如字串"babcc"歸一化後為"a1b2c2"
輸入描述:
每個測試用例每行為一個字串,以'\n'結尾,例如cccddecca
輸出描述:
輸出壓縮後的字串ac5d2e
輸入例子1:
dabcab
輸出例子1:
a2b2c1d1
import java.util.HashMap; import java.util.Map; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); String s = in.next(); Map map=new HashMap(); for(int i=0;i<s.length();i++){ char ch=s.charAt(i); if(map.get(ch)==null){ map.put(ch,1); }else{ int cnt= (int) map.get(ch); map.put(ch,cnt+1); } } for(Object obj : map.entrySet()){ Map.Entry<String,Integer> entry= (Map.Entry<String, Integer>) obj; System.out.print(String.valueOf(entry.getKey())+ entry.getValue()); } in.close(); } }