1
import bisect
2

3

4
class TweetCounts:
5

6
def __init__(self):
7
self.tweets = {}
8

9
def recordTweet(self, tweetName: str, time: int) -> None:
10
if not tweetName in self.tweets:
11
self.tweets[tweetName] = []
12
index = bisect.bisect_left(self.tweets[tweetName], time)
13
self.tweets[tweetName].insert(index, time)
14

15
def getTweetCountsPerFrequency(
16
self, freq: str, tweetName: str, startTime: int, endTime: int
17
) -> List[int]:
18

19
def find(step):
20
nonlocal tweet
21
result = []
22
for i in range(startTime, endTime + 1, step):
23
result.append(
24
bisect.bisect_right(tweet, min(endTime, i + step - 1))
25
- bisect.bisect_left(tweet, i)
26
)
27
return result
28

29
tweet = self.tweets[tweetName]
30
if freq == "minute":
31
return find(60)
32
elif freq == "hour":
33
return find(3600)
34
else:
35
return find(86400)

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0