Count Distinct Message Mentions
Problem statement
Given member IDs and messages, a mention group is a whitespace-delimited token beginning with @; its remainder may contain comma-separated IDs.
Count each member at most once per message, ignore unknown or unprefixed IDs, and include zero-count members. Return id=count strings sorted by count descending, then ID ascending.
Function
countMemberMentions(members: String[], messages: String[]) → String[]Examples
Example 1
members = ["id1","id2","id8"]messages = ["@id1 @id8,id8","hello @id8"]return = ["id8=2","id1=1","id2=0"]id8 is counted once in each message despite its duplicate first-message mention.
Example 2
members = ["a","b"]messages = ["a @b"]return = ["b=1","a=0"]The unprefixed a is ignored.
Constraints
1 <= members.length,messages.length <= 100000- Member IDs contain letters and digits and contain no commas or spaces.