LeetCode:785. 判断二分图

class Solution {

private:

bool ok=true;

vector<bool>color;

vector<bool>visited;

void traverse(vector<vector<int>>& graph,int v){

if(!ok){

return ;

}

visitedv=true;

for(int w:graphv){

if(!visitedw){

colorw=!colorv;

traverse(graph,w);

}else{

if(colorw==colorv){

ok=false;

}

}

}

}

public:

bool isBipartite(vector<vector<int>>& graph) {

int n = graph.size();

color = vector<bool>(n);

visited=vector<bool>(n);

for(int v=0;v<n;v++){

if(!visitedv){

traverse(graph,v);

}

}

return ok;

}

};

相关推荐
xxwxx__17 分钟前
深入理解 C++ 继承:从基础语法到底层原理全解析
c++
Felven19 分钟前
B. Deja Vu
数据结构·算法
键盘会跳舞20 分钟前
【C++多线程】多线程性能调优:伪共享、缓存行对齐与吞吐优化
c++·多线程·多线程调优
小玮看世界29 分钟前
[Python]螺旋遍历 vs 最短路径:方向控制类算法的“同源异流”
开发语言·python·算法
月华路34 分钟前
《模型不玄学》第14章 标签、损失与样本权重
人工智能·算法·机器学习
黄金龙PLUS36 分钟前
SPARKLE置换算法的优缺点
算法·网络安全·密码学·哈希算法·同态加密
不会就选b36 分钟前
算法日常・每日刷题--<贪心>3
数据结构·算法·leetcode
ysu_031437 分钟前
03-双链表与循环链表
c语言·数据结构·链表
学习星球39 分钟前
编辑距离——二维 DP 的“最小操作“艺术
c++·leetcode·java-consul
OPEN-F40 分钟前
ROS2系列教程:tf2坐标变换详解(C++/Python)
开发语言·c++·python