LeetCode Biweekly Contest 6 3問目 - Analyze User Website Visit Pattern [1152]

Source

Biweekly Contest 6
問題文

問題概要

省略

解法

省略

cLayversion 20190817-1)のコード

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)

ログイン: