欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

Java求每個頂點的入度和出度

王梓涵1年前8瀏覽0評論

Java是一門流行的編程語言,廣泛應用于軟件開發。在很多應用中,需要對圖進行處理,其中一個問題是求每個頂點的入度和出度。

/**
 * 求每個頂點的入度和出度
 * @param n 頂點個數
 * @param edges 邊列表
 * @return 頂點入度和出度數組
 */
public int[][] getDegree(int n, int[][] edges) {
int[][] degree = new int[n][2]; // 初始化
for (int i = 0; i< n; i++) {
degree[i][0] = 0; // 入度
degree[i][1] = 0; // 出度
}
for (int i = 0; i< edges.length; i++) {
int u = edges[i][0]; // 邊的起點
int v = edges[i][1]; // 邊的終點
degree[u][1]++; // 起點出度+1
degree[v][0]++; // 終點入度+1
}
return degree;
}

上述代碼是Java實現求每個頂點的入度和出度的方法。它接受兩個參數,一個是頂點個數n,另一個是邊列表edges。返回一個n行2列的二維數組degree,其中degree[i][0]表示第i個頂點的入度,degree[i][1]表示第i個頂點的出度。

具體實現過程如下:

  1. 首先初始化degree數組,將每個頂點的入度和出度都設置為0。
  2. 然后遍歷每一條邊,并將對應起點的出度加1,將對應終點的入度加1。
  3. 最后返回求得的degree數組。

通過這個方法,我們可以快速求解每個頂點的入度和出度,進而解決其他相關問題。