[LeetCode] Finding the Users Active Minutes

1817. Finding the Users Active Minutes

You are given the logs for users’ actions on LeetCode, and an integer k. The logs are represented by a 2D integer array logs where each logs[i] = [IDi, timei] indicates that the user with IDi performed an action at the minute timei.

Multiple users can perform actions simultaneously, and a single user can perform multiple actions in the same minute.

The user active minutes (UAM) for a given user is defined as the number of unique minutes in which the user performed an action on LeetCode. A minute can only be counted once, even if multiple actions occur during it.

You are to calculate a 1-indexed array answer of size k such that, for each j (1 <= j <= k), answer[j] is the number of users whose UAM equals j.

Return the array answer as described above.

1
2
3
4
5
6
7
8
9
10
11
12
13
class Solution {
public:
vector<int> findingUsersActiveMinutes(vector<vector<int>>& logs, int k) {
unordered_map<int, unordered_set<int>> mp;
for(auto& log : logs) {
int id = log[0], time = log[1];
mp[id].insert(time);
}
vector<int> res(k);
for(auto& [_, us] : mp) res[us.size() - 1] += 1;
return res;
}
};
Author: Song Hayoung
Link: https://songhayoung.github.io/2022/08/15/PS/LeetCode/finding-the-users-active-minutes/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.