LeetCode Weekly Contest 155
問題文
省略
省略
C++に変換後のコードはこちら
#define main dummy_main
{}
#undef main
unionFind uf;
int vis[100000];
string str[100000];
class Solution {
public:
string smallestStringWithSwaps(string s, vector<vector<int>>& pairs) {
dummy_main();
int i, j, N = s.size();
unionFind uf;
uf.walloc(N);
uf.init(N);
rep(i,pairs.size()) uf(pairs[i][0], pairs[i][1]);
rep(i,N) vis[i] = 0;
rep(i,N) str[i] = "";
rep(i,N) str[uf(i)] += s[i];
rep(i,N) if(str[i].size()) sort(str[i].begin(), str[i].end());
rep(i,N){
j = uf(i);
s[i] = str[j][vis[j]++];
}
return s;
}
};
Current time: 2024年03月29日23時12分59秒
Last modified: 2019年09月22日20時09分08秒 (by laycrs)
Tags: Competitive_Programming_Incomplete LeetCode
トップページに戻る
Logged in as: unknown user (not login)