Sender With Largest Word Count LeetCode Solution

Problem – Sender With Largest Word Count LeetCode Solution

You have a chat log of n messages. You are given two string arrays messages and senders where messages[i] is a message sent by senders[i].

message is list of words that are separated by a single space with no leading or trailing spaces. The word count of a sender is the total number of words sent by the sender. Note that a sender may send more than one message.

Return the sender with the largest word count. If there is more than one sender with the largest word count, return the one with the lexicographically largest name.

Note:

  • Uppercase letters come before lowercase letters in lexicographical order.
  • "Alice" and "alice" are distinct.

Example 1:

Input: messages = ["Hello userTwooo","Hi userThree","Wonderful day Alice","Nice day userThree"], senders = ["Alice","userTwo","userThree","Alice"]
Output: "Alice"
Explanation: Alice sends a total of 2 + 3 = 5 words.
userTwo sends a total of 2 words.
userThree sends a total of 3 words.
Since Alice has the largest word count, we return "Alice".

Example 2:

Input: messages = ["How is leetcode for everyone","Leetcode is useful for practice"], senders = ["Bob","Charlie"]
Output: "Charlie"
Explanation: Bob sends a total of 5 words.
Charlie sends a total of 5 words.
Since there is a tie for the largest word count, we return the sender with the lexicographically larger name, Charlie.

Constraints:

  • n == messages.length == senders.length
  • 1 <= n <= 104
  • 1 <= messages[i].length <= 100
  • 1 <= senders[i].length <= 10
  • messages[i] consists of uppercase and lowercase English letters and ' '.
  • All the words in messages[i] are separated by a single space.
  • messages[i] does not have leading or trailing spaces.
  • senders[i] consists of uppercase and lowercase English letters only.

Sender With Largest Word Count LeetCode Solution in C++

string largestWordCount(vector<string>& messages, vector<string>& senders) {
    unordered_map<string, int> cnt;
    string res;
    int max_cnt = 0;
    for (int i = 0; i < messages.size(); ++i) {
        int words = count(begin(messages[i]), end(messages[i]), ' ') + 1;
        int total = cnt[senders[i]] += words;
        if (total > max_cnt || (total == max_cnt && senders[i] > res)) {
            max_cnt = total;
            res = senders[i];
        }
    }
    return res;
}

Sender With Largest Word Count LeetCode Solution in Python

class Solution:
    def largestWordCount(self, messages: List[str], senders: List[str]) -> str:
        d={}
        l=[]
        for i in range(len(messages)):
            if senders[i] not in d:
                d[senders[i]]=len(messages[i].split())
            else:
                d[senders[i]]+=len(messages[i].split())
        x=max(d.values())
        for k,v in d.items():
            if v==x :
                l.append(k)
        if len(l)==1:
            return l[0]
        else:
            l=sorted(l)[::-1]      #Lexigograhical sorting of list
            return l[0]

Sender With Largest Word Count LeetCode Solution in Java

class Solution {
    public String largestWordCount(String[] messages, String[] senders) {
        HashMap<String,Integer> hm=new HashMap<>();
		
        int max=0;
        String name="";
        for(int i=0;i<messages.length;i++){
            String[] words=messages[i].split(" ");
            
            int freq=hm.getOrDefault(senders[i],0)+words.length;
            hm.put(senders[i],freq);
            
            if(hm.get(senders[i])>max){
                max=hm.get(senders[i]);
                name=senders[i];
            }
            else if(hm.get(senders[i])==max && name.compareTo(senders[i])<0){
                name=senders[i];
            } 
        }
        
        return name;
    }
}
Sender With Largest Word Count LeetCode Solution Review:

In our experience, we suggest you solve this Sender With Largest Word Count LeetCode Solution and gain some new skills from Professionals completely free and we assure you will be worth it.

If you are stuck anywhere between any coding problem, just visit Queslers to get the Sender With Largest Word Count LeetCode Solution

Find on LeetCode

Conclusion:

I hope this Sender With Largest Word Count LeetCode Solution would be useful for you to learn something new from this problem. If it helped you then don’t forget to bookmark our site for more Coding Solutions.

This Problem is intended for audiences of all experiences who are interested in learning about Data Science in a business context; there are no prerequisites.

Keep Learning!

More Coding Solutions >>

LeetCode Solutions

Hacker Rank Solutions

CodeChef Solutions

Leave a Reply

Your email address will not be published.