1
class TweetCounts {
2
private:
3
unordered_map<string, vector<int>> mp;
4

5
public:
6
TweetCounts() {}
7

8
void recordTweet(string tweetName, int time) {
9
mp[tweetName].push_back(time);
10
}
11

12
vector<int> getTweetCountsPerFrequency(string freq, string tweetName, int startTime,
13
int endTime) {
14
if (freq == "minute") {
15
vector<int> ans(((endTime - startTime) / 60) + 1, 0);
16
for (int time : mp[tweetName]) {
17
if (time >= startTime && time <= endTime) {
18
int idx = (time - startTime) / 60;
19
ans[idx]++;
20
}
21
}
22
return ans;
23
} else if (freq == "hour") {
24
vector<int> ans(((endTime - startTime) / (60 * 60)) + 1, 0);
25
for (int time : mp[tweetName]) {
26
if (time >= startTime && time <= endTime) {
27
int idx = (time - startTime) / (60 * 60);
28
ans[idx]++;
29
}
30
}
31
return ans;
32
} else {
33
vector<int> ans(((endTime - startTime) / (3600 * 24)) + 1, 0);
34
for (int time : mp[tweetName]) {
35
if (time >= startTime && time <= endTime) {
36
int idx = (time - startTime) / (60 * 60 * 24);
37
ans[idx]++;
38
}
39
}
40
return ans;
41
}
42
}
43
};
44

45
/**
46
* Your TweetCounts object will be instantiated and called as such:
47
* TweetCounts* obj = new TweetCounts();
48
* obj->recordTweet(tweetName,time);
49
* vector<int> param_2 =
50
* obj->getTweetCountsPerFrequency(freq,tweetName,startTime,endTime);
51
*/

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0