Grokking the Coding Interview: Patterns for Coding Questions
0% completed
Hidden Document
Hidden Document Content Hidden Document Content Hidden Document Content Hidden Document Content Hidden Document Content Hidden Document Content Hidden Document Content Hidden Document Content Hidden Document Content Hidden Document Content Hidden Document Content Hidden Document Content Hidden Document Content Hidden Document Content Hidden Document Content Hidden Document Content Hidden Document Content Hidden Document Content Hidden Document Content Hidden Document Content Hidden Document Content Hidden Document Content Hidden Document Content Hidden Document Content
.....
.....
.....
Like the course? Get enrolled and start learning!
L
lejafilip
· 8 months ago
Code:
class Solution { class DSU { public: DSU(int n):id(n), sz(n, 1) { std::ranges::iota(id, 0); } int find(int val) { int v = val; while(v != id[v]) { v = id[v]; } int next = id[val]; while(next != v) { next = id[val]; id[val] = v; val = next; } return v; } void unify(int val1, int val2) { int root1 = find(val1); int root2 = find(val2); if(root1 == root2) { return; } if(sz[root1] < sz[root2]) {