leetcode 1615

我一开始以为是个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 };
为了自己,和那些爱你的人
原文地址:https://www.cnblogs.com/zhmlzhml/p/13861218.html