FastPrepCount Distinct Message Mentions

Count Distinct Message Mentions

ZipRecruiter logoZipRecruiter● MediumNEW GRADOA
Learn

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.

More ZipRecruiter problems

See ZipRecruiter hiring insights
public String[] countMemberMentions(String[] members, String[] messages) {
    // Write your code here.
}
members["id1","id2","id8"]
messages["@id1 @id8,id8","hello @id8"]
expected["id8=2", "id1=1", "id2=0"]
Checking account…