c# and Linq
We can just query the both arrays with a help of Linq. Instead of counting words (which can be time consuming for Split) we can count spaces:\n\n\n   wordCount 
We can just *query* the both arrays with a help of *Linq*. Instead of counting words (which can be time consuming for `Split`) we can count *spaces*:\n\n```\n   wordCount = spaceCount + 1\n```\n\n**Code:**\n\n```\npublic class Solution {\n    public string LargestWordCount(string[] messages, string[] senders) {\n        return senders\n            .Zip(messages, (s, m) => (sender : s, words : m.Count(c => c == \' \') + 1))\n            .GroupBy(p => p.sender, p => p.words)\n            .Select(g => (sender : g.Key, wc : g.Sum()))\n            .OrderByDescending(p => p.wc)\n            .ThenByDescending(p => p.sender, StringComparer.Ordinal)\n            .First()\n            .sender;\n    }\n}\n```
[]