LeetCode Weekly Contest 175
問題文
省略
省略
C++に変換後のコードはこちら
#define main dummy_main
{}
#undef main
int user;
map<string,int> id;
vector<int> tweet[10000];
int sorted[10000];
class TweetCounts {
public:
TweetCounts() {
user = 0;
id.clear();
}
int getID(string name){
if(!id.count(name)){
tweet[user].clear();
sorted[user] = 1;
id[name] = user++;
}
return id[name];
}
void recordTweet(string name, int tm) {
int id = getID(name);
tweet[id].push_back(tm);
sorted[id] = 0;
}
vector<int> getTweetCountsPerFrequency(string freq, string name, int st, int et) {
int id = getID(name);
int i, n, delta;
vector<int> res;
et++;
if(sorted[id]==0){
sorted[id] = 1;
sort(tweet[id].begin(), tweet[id].end());
}
if(freq == "minute") delta = 60;
if(freq == "hour") delta = 60*60;
if(freq == "day") delta = 60*60*24;
i = lower_bound(tweet[id].begin(), tweet[id].end(), st) - tweet[id].begin();
while(st < et){
n = 0;
st = min(st+delta, et);
while(i < tweet[id].size() && tweet[id][i] < st) i++, n++;
res.push_back(n);
}
return res;
}
};
Current time: 2024年05月06日10時28分20秒
Last modified: 2020年02月16日01時26分50秒 (by laycrs)
Tags: Competitive_Programming_Incomplete LeetCode
トップページに戻る
Logged in as: unknown user (not login)