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 ;

}

visited[v]=true;

for(int w:graph[v]){

if(!visited[w]){

color[w]=!color[v];

traverse(graph,w);

}else{

if(color[w]==color[v]){

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(!visited[v]){

traverse(graph,v);

}

}

return ok;

}

};

相关推荐
落羽的落羽5 小时前
【算法札记】练习 | Week4
linux·服务器·数据结构·c++·人工智能·算法·动态规划
goodesocket5 小时前
芯片HAST测试:通电工作下如何精准模拟极端环境挑战?
c++
特种加菲猫6 小时前
从零开始手撕AVL树:详解插入、平衡因子更新与四种旋转
开发语言·c++
萑澈6 小时前
算法竞赛入门:C++ STL核心用法与时空复杂度速查手册
数据结构·c++·算法·stl
Godspeed Zhao6 小时前
从零开始学AI16——SVM
算法·机器学习·支持向量机
江屿风6 小时前
C++OJ题经验总结(竞赛)1
开发语言·c++·笔记·算法
nebula-AI6 小时前
人工智能导论:模型与算法(核心技术)
人工智能·深度学习·神经网络·算法·机器学习·集成学习·sklearn
运筹vivo@7 小时前
LeetCode 2405. 子字符串的最优划分
c++·算法·leetcode·职场和发展·哈希表
数智工坊7 小时前
视觉-语言-动作模型解剖学:从模块、里程碑到核心挑战
论文阅读·人工智能·深度学习·算法·transformer