LeetCode题解(0886):可能的二分法(Python)
发布日期:2021-06-29 20:18:02
浏览次数:3
分类:技术文章
本文共 1144 字,大约阅读时间需要 3 分钟。
题目:(中等)
标签:图、深度优先搜索、广度优先搜索
解法 | 时间复杂度 | 空间复杂度 | 执行用时 |
---|---|---|---|
Ans 1 (Python) | O ( N ) O(N) O(N) | O ( N ) O(N) O(N) | 152ms (75.80%) |
Ans 2 (Python) | |||
Ans 3 (Python) |
解法一:
def build_graph(edges): graph = collections.defaultdict(set) for edge in edges: graph[edge[0]].add(edge[1]) graph[edge[1]].add(edge[0]) return graphclass Solution: def possibleBipartition(self, N: int, dislikes: List[List[int]]) -> bool: graph = build_graph(dislikes) table = [0] * (N + 1) for m1, m2 in dislikes: if table[m1] * table[m2] > 0: return False if table[m1] != 0 or table[m2] != 0: continue table[m1] = 1 now = -1 queue = collections.deque([m1]) while queue: for _ in range(len(queue)): n1 = queue.popleft() for n2 in graph[n1]: if table[n2] == -now: return False elif table[n2] == 0: table[n2] = now queue.append(n2) now *= -1 return True
转载地址:https://dataartist.blog.csdn.net/article/details/112787697 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2024年04月08日 15时03分58秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
多台上网设备出现上网卡问题
2019-04-30
独立游戏市场营销策略:社交营销篇
2019-04-30
在cocos2d里面如何拖拽精灵
2019-04-30
UI界面设计标准,包括iPad mini和iPhone5。
2019-04-30
如何确定你的新点子是否靠谱
2019-04-30
App Store邮箱列表
2019-04-30
iOS 和 Android 的后台推送工作原理各是如何?有什么区别?
2019-04-30
关于UIWebView的一些事
2019-04-30
iOS程序运行主要步骤
2019-04-30
使用github管理iOS分布式项目开发
2019-04-30
yqzj微信公众号&小程序开发
2019-04-30
【iPhone】网络编程–一起来做网站客户端(一)
2019-04-30
使用test flight让别人运行你的app
2019-04-30
Andriod开发学习资源
2019-04-30
编程要趁早 BI推荐8个编程学习网站
2019-04-30
《c primer plus》
2019-04-30
第一个服务器程序
2019-04-30
源代码学习笔记
2019-04-30
vxworks下select()的使用 .
2019-04-30
如何在使用Cocos2D中实现A星(A*)寻路算法
2019-04-30