我是靠谱客的博主 壮观煎饼,这篇文章主要介绍LeetCode题解(1117):H2O生成(Python),现在分享给大家,希望可以做个参考。

题目:原题链接(中等)

标签:多线程

解法时间复杂度空间复杂度执行用时
Ans 1 (Python) O ( N ) O(N) O(N) O ( 1 ) O(1) O(1)56ms (33.33%)
Ans 2 (Python)
Ans 3 (Python)

解法一:

class H2O:
def __init__(self):
self.count = 0
self.s1 = threading.Semaphore(2)
self.s2 = threading.Semaphore(0)
def hydrogen(self, releaseHydrogen: 'Callable[[], None]') -> None:
self.s1.acquire()
releaseHydrogen()
self.count += 1
if self.count == 2:
self.s2.release()
self.count = 0
def oxygen(self, releaseOxygen: 'Callable[[], None]') -> None:
self.s2.acquire()
releaseOxygen()
self.s1.release()
self.s1.release()

最后

以上就是壮观煎饼最近收集整理的关于LeetCode题解(1117):H2O生成(Python)的全部内容,更多相关LeetCode题解(1117)内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(122)

评论列表共有 0 条评论

立即
投稿
返回
顶部