1348 推文計數

2021-10-02 18:12:15 字數 2887 閱讀 3681

請你實現乙個能夠支援以下兩種方法的推文計數類 tweetcounts:

1. recordtweet(string tweetname, int time)

記錄推文發布情況:使用者 tweetname 在 time(以 秒 為單位)時刻發布了一條推文。

2. gettweetcountsperfrequency(string freq, string tweetname, int starttime, int endtime)

返回從開始時間 starttime(以 秒 為單位)到結束時間 endtime(以 秒 為單位)內,每 分 minute,時 hour 或者 日 day (取決於 freq)內指定使用者 tweetname 發布的推文總數。

freq 的值始終為 分 minute,時 hour 或者 日 day 之一,表示獲取指定使用者 tweetname 發布推文次數的時間間隔。

第乙個時間間隔始終從 starttime 開始,因此時間間隔為 [starttime, starttime + delta*1>,  [starttime + delta*1, starttime + delta*2>, [starttime + delta*2, starttime + delta*3>, ... , [starttime + delta*i, min(starttime + delta*(i+1), endtime + 1)>,其中 i 和 delta(取決於 freq)都是非負整數。

示例:輸入:

["tweetcounts","recordtweet","recordtweet","recordtweet","gettweetcountsperfrequency","gettweetcountsperfrequency","recordtweet","gettweetcountsperfrequency"]

[,["tweet3",0],["tweet3",60],["tweet3",10],["minute","tweet3",0,59],["minute","tweet3",0,60],["tweet3",120],["hour","tweet3",0,210]]

輸出:[null,null,null,null,[2],[2,1],null,[4]]

解釋:tweetcounts tweetcounts = new tweetcounts();

tweetcounts.recordtweet("tweet3", 0);

tweetcounts.recordtweet("tweet3", 60);

tweetcounts.recordtweet("tweet3", 10);                             // "tweet3" 發布推文的時間分別是 0, 10 和 60 。

tweetcounts.gettweetcountsperfrequency("minute", "tweet3", 0, 59); // 返回 [2]。統計頻率是每分鐘(60 秒),因此只有乙個有效時間間隔 [0,60> - > 2 條推文。

tweetcounts.gettweetcountsperfrequency("minute", "tweet3", 0, 60); // 返回 [2,1]。統計頻率是每分鐘(60 秒),因此有兩個有效時間間隔 1) [0,60> - > 2 條推文,和 2) [60,61> - > 1 條推文。 

tweetcounts.recordtweet("tweet3", 120);                            // "tweet3" 發布推文的時間分別是 0, 10, 60 和 120 。

tweetcounts.gettweetcountsperfrequency("hour", "tweet3", 0, 210);  // 返回 [4]。統計頻率是每小時(3600 秒),因此只有乙個有效時間間隔 [0,211> - > 4 條推文。

總結:

class tweetcounts(object):

def __init__(self):

self.name={}

def recordtweet(self, tweetname, time):

if tweetname in self.name:

self.name[tweetname] = self.name[tweetname]+[time]

else:

self.name[tweetname]=[time]

def gettweetcountsperfrequency(self, freq, tweetname, starttime, endtime):

if tweetname not in self.name:

return [0]

time = 0

if freq=="minute":

time=60

elif freq=="hour":

time=3600

elif freq=="day":

time = 3600*24

res = [0]*((endtime-starttime)/time+1)

l = self.name[tweetname]

for one in l:

if starttime<=one<=endtime:

res[(one-starttime)/time]+=1

return res

# your tweetcounts object will be instantiated and called as such:

# obj = tweetcounts()

# obj.recordtweet(tweetname,time)

# param_2 = obj.gettweetcountsperfrequency(freq,tweetname,starttime,endtime)

推特公司刪除希望川普去世推文,減少仇恨言論

美國當地時間9月1日,美國 川普在推特上宣布自己確診了新冠病毒,隨後將開始進行隔離和 在9月2日,社交 平台推特公司警告稱,將刪除平台上 希望特朗程式設計客棧普去世 的帖文。推特公司官方發文表示 那些針對 任何人 的祝願或者希望其死gukpyjv亡 受到嚴重身體傷害或不治之症的推文是不被允許的,所以...

甲骨文推多項服務 協助全球企業簡化雲部署

3月25日,甲骨文推出了全新系列產品oracle cloud at customer,協助企業便利地遷移至雲端,消除企業在採用雲過程中面臨的最大障礙。這些開創性的服務為首席資訊官提供了企業軟體部署地點的全新選擇,同時提供了將本地部署的商業關鍵應用便利地遷移到雲端的乙個途徑。oracle cloud ...

甲骨文推資料庫防火牆 監控SQL攻擊

oracle終於發布了乙個不是讓大多數人討厭的事情,在rsa大會上推出了資料庫防火牆 資料庫防火牆使用了一項叫sql語法分析技術,通過監視和辨識數以百萬計的語句來識別非正常的行為。同時該系統還使用黑名單和白名單來最小化威脅。防火牆能夠配置甲骨文database 11g以及以下 執行linux,uni...