我一开始以为是个dp,上来给我吓懵了(或者并查集????什么玩意)
后来发现不是啊啊啊太美好了
其实就是一个算最大链接的
有个问题就是存数我一开始用的是vector<vector<int>>
但是你去重的时候有点不方便,,,就是它没有find 函数,也没有count函数!!!!要是想去重只能遍历!!!!!
但是人家set有啊,,,,,
所以emmmmm vector<set<int>>
1 #include<cstdio> 2 #include<cstdlib> 3 #include<cstring> 4 #include<cmath> 5 #include<iostream> 6 #include<algorithm> 7 #include<string> 8 #include<vector> 9 #include<queue> 10 #include<map> 11 #include<set> 12 #include <unordered_set> 13 using namespace std; 14 class Solution { 15 public: 16 int maximalNetworkRank(int n, vector<vector<int>>& roads) { 17 vector<unordered_set<int>> nums(n); 18 for (auto& r : roads) { 19 nums[r[0]].insert(r[1]); 20 nums[r[1]].insert(r[0]); 21 } 22 23 int ans = 0; 24 for (int i = 0; i < n; ++i) { 25 for (int j = i + 1; j < n; ++j) { 26 int sum = nums[i].size() + nums[j].size(); 27 if (nums[i].count(j)) --sum; 28 ans = max(ans, sum); 29 } 30 } 31 return ans; 32 } 33 };