Subdomain Visit Count
给一个string, 里面的数字代表访问的数量,字符代表domain, 求统计sub domain的访问次数.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
class Solution { public List<String> subdomainVisits(String[] cpdomains) { List<String> res = new ArrayList<>(); Map<String, Integer> map = new HashMap<>(); for(String s : cpdomains) { String[] strs = s.split(" "); int c = Integer.valueOf(strs[0]); StringBuilder sb = new StringBuilder(strs[1]); while (sb.indexOf(".") != -1) { map.put(sb.toString(), map.getOrDefault(sb.toString(), 0) + c); sb.delete(0, sb.indexOf(".")+1); } map.put(sb.toString(), map.getOrDefault(sb.toString(), 0) + c); } for(Map.Entry<String, Integer> e : map.entrySet()){ res.add(e.getValue() + " " + e.getKey()); } return res; } } |