1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| class Solution { public String largestWordCount(String[] messages, String[] senders) { Map<String, Integer> senderWordCount = new HashMap<>(); String maxSender = "zzzzzzzzzzz"; int maxCount = 0; for (int i = 0; i < messages.length; i++) { senderWordCount.put(senders[i], senderWordCount.getOrDefault(senders[i], 0) + getWordCount(messages[i])); if (senderWordCount.get(senders[i]) > maxCount || ((senderWordCount.get(senders[i]) == maxCount) && senders[i].compareTo(maxSender) > 0)) { maxCount = senderWordCount.get(senders[i]); maxSender = senders[i]; } } return maxSender; }
private int getWordCount(String message) { return message.split(" ").length; } }
|
用一个变量存maxSender是谁, 一个变量存maxCount是多少即可.
时间复杂度: O(n)
空间复杂度: O(n) 因为用了HashMap.