LeetCode - 785. Is Graph Bipartite?
判断一个给定图是不是二分图. 题目提供一个用二维数组存储的邻接表. 常规的二分图判断,点着色.
注意要将图存入类中,因为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?相关推荐
- leetcode 785. Is Graph Bipartite? | 785. 判断二分图(DFS,地图着色)
题目 https://leetcode.com/problems/is-graph-bipartite/ 题解 有点像简化版的地图着色问题. 每走一步,颜色翻转一下,并且染色. 当遇到已经染过色的节点 ...
- 【Breadth-first Search 】785. Is Graph Bipartite?
输入:一个无向图graph.graph[i] 的值是一些节点,表示从i到这些节点有边.图中节点用0到graph.length-1表示.这个图没有指向自己的边,也就是说节点i不会有指向节点i的边.输入中 ...
- 785. Is Graph Bipartite? 判断二分图
Title 给定一个无向图graph,当这个图为二分图时返回true. 如果我们能将一个图的节点集合分割成两个独立的子集A和B,并使图中的每一条边的两个节点一个来自A集合,一个来自B集合,我们就将这个 ...
- 【LeetCode】图论 graph(共20题)
[133]Clone Graph (2019年3月9日,复习) 给定一个图,返回它的深拷贝. 题解:dfs 或者 bfs 都可以 1 /* 2 // Definition for a Node. 3 ...
- 【重点!DFS/记忆化递归 + BFS】LeetCode 133. Clone Graph
LeetCode 133. Clone Graph Solution1: DFS/记忆化递归,参考网址:http://www.cnblogs.com/grandyang/p/4267628.html ...
- Graph Bipartite
leetcode785 判断graph是否Bipartite 题目链接:https://leetcode.com/problems/is-graph-bipartite/description/ 一个 ...
- LeetCode 785. 判断二分图(染色法)
文章目录 1. 题目 2. 解题 1. 题目 给定一个无向图graph,当这个图为二分图时返回true. 如果我们能将一个图的节点集合分割成两个独立的子集A和B,并使图中的每一条边的两个节点一个来自A ...
- taoqick 搜索自己CSDN博客
L1 L2正则化和优化器的weight_decay参数 kaiming初始化的推导 Pytorch动态计算图 Pytorch自动微分机制 PyTorch中在反向传播前为什么要手动将梯度清零? 通俗讲解 ...
- leetcode刷题规划
LeetCode精华题目列表[刷题规划系列] – TuringPlanet 目录 算法题到底在考察什么? 题目列表 Array String Linked List Queue Stack Advan ...
最新文章
- .Net Discovery 系列之四--深入理解.Net垃圾收集机制(下)
- fiddler+android抓包工具配置使用
- UML中关联,聚合,组合的区别及C++实现
- 1盒子刷webpad_拉宽带送的盒子也有春天:一招解放各种束缚限制
- java ee自学路线
- julia有 pytorch包吗_GitHub发布年度机器学习榜:TensorFlow最火,PyTorch失踪,Julia第四...
- 科大讯飞发布第三季度业绩报告:扣非净利润同比减少近9成
- html网页字段序号的样式,[网页设计]局部自定义li序号CSS样式的方法
- 清华大学2017计算机录取分数线,2017年清华大学录取分数线
- 【人民币识别】基于matlab GUI形态学钞票面额识别与统计【含Matlab源码 906期】
- linux连接蓝牙没声音,Linux Ubuntu18.04蓝牙没声音 org.bluez.Error.Failed, name org.PulseAudio1 already taken...
- un4 unreal4 创建路径 曲线 管道 Spline组件 使用方法
- tabelu 凹凸图
- EtherCAT运动控制卡的自定义运动曲线
- python视频教程推荐it教程网_2019年最新Python黑马头条推荐系统项目开发视频教程完整版...
- 8月收到的最新更新附近的人交友系统源码,自动打招呼,自动发视频通话+自动聊天多功能机器人交友源码
- 如何使用SPSS Amos进行验证性因子分析(CFA)和Bootstrap检验中介效应
- idea的下载、安装和破解
- 吞吐量达到瓶颈后下降_TD-HSDPA空口吞吐量或成瓶颈-通信/网络-与非网
- docker容器介绍(五)连载