LeetCode - 785. Is Graph Bipartite?
生活随笔
收集整理的這篇文章主要介紹了
LeetCode - 785. Is Graph Bipartite?
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
判斷一個(gè)給定圖是不是二分圖. 題目提供一個(gè)用二維數(shù)組存儲(chǔ)的鄰接表. 常規(guī)的二分圖判斷,點(diǎn)著色.
注意要將圖存入類中,因?yàn)閐fs需要訪問圖中的點(diǎn).
?
1 class Solution { 2 private int[][] graph; 3 private boolean[] visited; 4 private int[] colors; 5 6 public boolean isBipartite(int[][] graph) { 7 this.graph = graph; 8 int V = graph.length; 9 visited = new boolean[V]; 10 colors = new int[V]; 11 12 for (int v = 0; v < V; v++) 13 if (!visited[v]) 14 if(!dfs(v, 0)) 15 return false; 16 return true; 17 } 18 19 private boolean dfs(int v, int color) { 20 visited[v] = true; 21 colors[v] = color; 22 for (int w : graph[v]) { 23 if (!visited[w]) { 24 if (!dfs(w, 1 - color)) 25 return false; 26 } 27 else if (colors[v] == colors[w]) 28 return false; 29 } 30 return true; 31 } 32 }轉(zhuǎn)載于:https://www.cnblogs.com/AntonLiu/p/11288250.html
總結(jié)
以上是生活随笔為你收集整理的LeetCode - 785. Is Graph Bipartite?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: div居中与div内容居中,不一样
- 下一篇: bobo老师机器学习笔记1.1 - 什么