判断一个给定图是不是二分图. 题目提供一个用二维数组存储的邻接表. 常规的二分图判断,点着色.

注意要将图存入类中,因为dfs需要访问图中的点.

 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 }

转载于:https://www.cnblogs.com/AntonLiu/p/11288250.html

LeetCode - 785. Is Graph Bipartite?相关推荐

  1. leetcode 785. Is Graph Bipartite? | 785. 判断二分图(DFS,地图着色)

    题目 https://leetcode.com/problems/is-graph-bipartite/ 题解 有点像简化版的地图着色问题. 每走一步,颜色翻转一下,并且染色. 当遇到已经染过色的节点 ...

  2. 【Breadth-first Search 】785. Is Graph Bipartite?

    输入:一个无向图graph.graph[i] 的值是一些节点,表示从i到这些节点有边.图中节点用0到graph.length-1表示.这个图没有指向自己的边,也就是说节点i不会有指向节点i的边.输入中 ...

  3. 785. Is Graph Bipartite? 判断二分图

    Title 给定一个无向图graph,当这个图为二分图时返回true. 如果我们能将一个图的节点集合分割成两个独立的子集A和B,并使图中的每一条边的两个节点一个来自A集合,一个来自B集合,我们就将这个 ...

  4. 【LeetCode】图论 graph(共20题)

    [133]Clone Graph (2019年3月9日,复习) 给定一个图,返回它的深拷贝. 题解:dfs 或者 bfs 都可以 1 /* 2 // Definition for a Node. 3 ...

  5. 【重点!DFS/记忆化递归 + BFS】LeetCode 133. Clone Graph

    LeetCode 133. Clone Graph Solution1: DFS/记忆化递归,参考网址:http://www.cnblogs.com/grandyang/p/4267628.html ...

  6. Graph Bipartite

    leetcode785 判断graph是否Bipartite 题目链接:https://leetcode.com/problems/is-graph-bipartite/description/ 一个 ...

  7. LeetCode 785. 判断二分图(染色法)

    文章目录 1. 题目 2. 解题 1. 题目 给定一个无向图graph,当这个图为二分图时返回true. 如果我们能将一个图的节点集合分割成两个独立的子集A和B,并使图中的每一条边的两个节点一个来自A ...

  8. taoqick 搜索自己CSDN博客

    L1 L2正则化和优化器的weight_decay参数 kaiming初始化的推导 Pytorch动态计算图 Pytorch自动微分机制 PyTorch中在反向传播前为什么要手动将梯度清零? 通俗讲解 ...

  9. leetcode刷题规划

    LeetCode精华题目列表[刷题规划系列] – TuringPlanet 目录 算法题到底在考察什么? 题目列表 Array String Linked List Queue Stack Advan ...

最新文章

  1. .Net Discovery 系列之四--深入理解.Net垃圾收集机制(下)
  2. fiddler+android抓包工具配置使用
  3. UML中关联,聚合,组合的区别及C++实现
  4. 1盒子刷webpad_拉宽带送的盒子也有春天:一招解放各种束缚限制
  5. java ee自学路线
  6. julia有 pytorch包吗_GitHub发布年度机器学习榜:TensorFlow最火,PyTorch失踪,Julia第四...
  7. 科大讯飞发布第三季度业绩报告:扣非净利润同比减少近9成
  8. html网页字段序号的样式,[网页设计]局部自定义li序号CSS样式的方法
  9. 清华大学2017计算机录取分数线,2017年清华大学录取分数线
  10. 【人民币识别】基于matlab GUI形态学钞票面额识别与统计【含Matlab源码 906期】
  11. linux连接蓝牙没声音,Linux Ubuntu18.04蓝牙没声音 org.bluez.Error.Failed, name org.PulseAudio1 already taken...
  12. un4 unreal4 创建路径 曲线 管道 Spline组件 使用方法
  13. tabelu 凹凸图
  14. EtherCAT运动控制卡的自定义运动曲线
  15. python视频教程推荐it教程网_2019年最新Python黑马头条推荐系统项目开发视频教程完整版...
  16. 8月收到的最新更新附近的人交友系统源码,自动打招呼,自动发视频通话+自动聊天多功能机器人交友源码
  17. 如何使用SPSS Amos进行验证性因子分析(CFA)和Bootstrap检验中介效应
  18. idea的下载、安装和破解
  19. 吞吐量达到瓶颈后下降_TD-HSDPA空口吞吐量或成瓶颈-通信/网络-与非网
  20. docker容器介绍(五)连载

热门文章

  1. alert,confirm和prompt
  2. 增加/dev/shm大小
  3. 使用python来访问Hadoop HDFS存储实现文件的操作
  4. UIT-SV3600i-D/Storage Manger RAID5以及IP-SAN(iscsi)配置
  5. 配置环境将win32项目移植到Android
  6. Python 每次处理一个字符
  7. nginx php-fpm调优
  8. java中是引用传递还是值传递....
  9. linux游戏欢迎界面,制作Linux登录欢迎界面
  10. 使用WindowManager添加View——悬浮窗口的基本原理