nikunjsoni

1101

May 4th, 2021
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.64 KB | None | 0 0
  1. class Solution {
  2.     vector<int>parent;
  3.     int find(int x) {
  4.         return parent[x] == x ? x : (x = find(parent[x]));
  5.     }
  6. public:
  7.     int earliestAcq(vector<vector<int>>& logs, int N) {
  8.         sort(logs.begin(), logs.end());
  9.         parent.resize(N, 0);
  10.         for (int i = 0; i < N; i++)
  11.             parent[i] = i;
  12.        
  13.         for(int i = 0; i < logs.size(); i++) {
  14.             int x = find(logs[i][1]);
  15.             int y = find(logs[i][2]);
  16.             if(x != y) {
  17.                 N--;
  18.                 if (N == 1) return logs[i][0];
  19.                 parent[y] = x;
  20.             }
  21.         }
  22.         return -1;
  23.     }
  24. };
Advertisement
Add Comment
Please, Sign In to add comment