省略
省略
C++に変換後のコードはこちら
#define main dummy_main
{}
#undef main
class Solution {
public:
vector<string> mostVisitedPattern(vector<string>& user, vector<int>& tm, vector<string>& web) {
int i, j, k, a, b, c;
int N;
set<string> done;
vector<string> vis;
set<vector<string> > done2;
map<vector<string>,int> mp;
vector<string> res, tmp;
int ress = -1;
N = user.size();
rep(i,N) rep(j,1,N) if(tm[j-1] > tm[j]){
swap(user[j-1], user[j]);
swap(tm[j-1], tm[j]);
swap(web[j-1], web[j]);
}
rep(i,N){
if(done.count(user[i])) continue;
done.insert(user[i]);
vis.clear();
rep(j,N) if(user[j]==user[i]) vis.push_back(web[j]);
done2.clear();
k = vis.size();
rep(a,k) rep(b,a+1,k) rep(c,b+1,k){
tmp.clear();
tmp.push_back(vis[a]);
tmp.push_back(vis[b]);
tmp.push_back(vis[c]);
if(done2.count(tmp)) continue;
done2.insert(tmp);
mp[tmp]++;
if(ress < mp[tmp] || (ress == mp[tmp] && res > tmp)){
res = tmp;
ress = mp[tmp];
}
}
}
return res;
}
};
Current time: 2024年04月20日21時02分13秒
Last modified: 2019年08月17日08時40分33秒 (by laycrs)
Tags: Competitive_Programming_Incomplete LeetCode
トップページに戻る
Logged in as: unknown user (not login)