G
N
I
D
A
O
L

题目链接:https://leetcode.cn/problems/maximal-network-rank/

# 解题思路

  • 记录每个城市的度
  • 然后枚举每两个城市即可获得最大秩

# 提交结果

image.png

# 代码

class Solution {
    public int maximalNetworkRank(int n, int[][] roads) {
        int[] edgeCnt = new int[n];
        boolean[][] connect = new boolean[n][n];
        
        for (int[] r : roads) {
            ++edgeCnt[r[0]];
            ++edgeCnt[r[1]];
            connect[r[0]][r[1]] = true;
        }
        int maxCnt = 0;
        for (int i = 0; i < n - 1; ++i) {
            for (int j = i + 1; j < n; ++j) {
                int cnt = (connect[i][j] || connect[j][i] ? -1 : 0) + edgeCnt[i] + edgeCnt[j];
                maxCnt = Math.max(maxCnt, cnt);
            }
        }
        return maxCnt;
    }
}
更新于 阅读次数

😉觉得写的还不错,请我喝杯咖啡吧😁

独步凌波 微信支付

微信支付

独步凌波 支付宝

支付宝