Class Solution
-
- All Implemented Interfaces:
public final class Solution
3433 - Count Mentions Per User.
Medium
You are given an integer
numberOfUsers
representing the total number of users and an arrayevents
of sizen x 3
.Each
events[i]
can be either of the following two types:Message Event: <code>"MESSAGE", "timestamp<sub>i</sub>", "mentions_string<sub>i</sub>"</code>
Offline Event: <code>"OFFLINE", "timestamp<sub>i</sub>", "id<sub>i</sub>"</code>
Return an array
mentions
wherementions[i]
represents the number of mentions the user with idi
has across allMESSAGE
events.All users are initially online, and if a user goes offline or comes back online, their status change is processed before handling any message event that occurs at the same timestamp.
Note that a user can be mentioned multiple times in a single message event, and each mention should be counted separately.
Example 1:
Input: numberOfUsers = 2, events = ["MESSAGE","10","id1 id0","OFFLINE","11","0","MESSAGE","71","HERE"]
Output: 2,2
Explanation:
Initially, all users are online.
At timestamp 10,
id1
andid0
are mentioned.mentions = [1,1]
At timestamp 11,
id0
goes offline.At timestamp 71,
id0
comes back online and"HERE"
is mentioned.mentions = [2,2]
Example 2:
Input: numberOfUsers = 2, events = ["MESSAGE","10","id1 id0","OFFLINE","11","0","MESSAGE","12","ALL"]
Output: 2,2
Explanation:
Initially, all users are online.
At timestamp 10,
id1
andid0
are mentioned.mentions = [1,1]
At timestamp 11,
id0
goes offline.At timestamp 12,
"ALL"
is mentioned. This includes offline users, so bothid0
andid1
are mentioned.mentions = [2,2]
Example 3:
Input: numberOfUsers = 2, events = ["OFFLINE","10","0","MESSAGE","12","HERE"]
Output: 0,1
Explanation:
Initially, all users are online.
At timestamp 10,
id0
goes offline.At timestamp 12,
"HERE"
is mentioned. Becauseid0
is still offline, they will not be mentioned.mentions = [0,1]
Constraints:
1 <= numberOfUsers <= 100
1 <= events.length <= 100
events[i].length == 3
events[i][0]
will be one ofMESSAGE
orOFFLINE
.<code>1 <= int(events1) <= 10<sup>5</sup></code>
The number of
id<number>
mentions in any"MESSAGE"
event is between1
and100
.0 <= <number> <= numberOfUsers - 1
It is guaranteed that the user id referenced in the
OFFLINE
event is online at the time the event occurs.
-
-
Constructor Summary
Constructors Constructor Description Solution()
-