• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Uriel's Corner

            Research Associate @ Harvard University / Research Interests: Computer Vision, Biomedical Image Analysis, Machine Learning
            posts - 0, comments - 50, trackbacks - 0, articles - 594
            給出一些id pairs,[a, b]表示a不想與b分在一組,一共n個id,問是否可以分成兩個group。
            并查集,對于每個id i,預處理所有不能和他一組的ids,這些ids將會被分在一組(并查集union操作),如果發現i和這些id在并查集的同一組,則輸出False


             1 #886
             2 #Runtime: 2223 ms (Beats 5.11%)
             3 #Memory: 19.1 MB (Beats 72.26%)
             4 
             5 class UnionFind:
             6     def __init__(self, n):
             7         self.parent = [i for i in range(n + 1)]
             8     def find(self, x):
             9         i = x
            10         while self.parent[x] != x:
            11             x = self.parent[x]
            12         self.parent[i] = x
            13         return x
            14     def union(self, x, y):
            15         self.parent[self.find(x)] = self.find(y)
            16 
            17 
            18 class Solution(object):
            19     def possibleBipartition(self, n, dislikes):
            20         """
            21         :type n: int
            22         :type dislikes: List[List[int]]
            23         :rtype: bool
            24         """
            25         if n == 1:
            26             return True
            27         graph_dict = {}
            28         for d in dislikes:
            29             if d[0] not in graph_dict:
            30                 graph_dict[d[0]] = [d[1]]
            31             else:
            32                 graph_dict[d[0]].append(d[1])
            33             if d[1] not in graph_dict:
            34                 graph_dict[d[1]] = [d[0]]
            35             else:
            36                 graph_dict[d[1]].append(d[0])
            37         uf_set = UnionFind(n)
            38         for x in graph_dict.keys():
            39             for i in range(len(graph_dict[x]) - 1):
            40                 uf_set.union(graph_dict[x][i], graph_dict[x][i + 1])
            41             if uf_set.find(x) == uf_set.find(graph_dict[x][0]):
            42                 return False
            43         return True
            老司机国内精品久久久久| 精品久久久久成人码免费动漫| 日韩人妻无码一区二区三区久久| 久久久久亚洲av无码专区| 91精品国产91久久久久久| 性高朝久久久久久久久久| 国产精品女同久久久久电影院| 热re99久久精品国产99热| 久久人人爽人人人人爽AV| 麻豆精品久久久一区二区| 伊色综合久久之综合久久| 国产精品久久久久久搜索| 狠狠色丁香婷婷久久综合五月| 国产精品一久久香蕉国产线看| 精品久久人人做人人爽综合| 性做久久久久久久| 亚洲人成网站999久久久综合| 久久精品a亚洲国产v高清不卡| 思思久久99热免费精品6| 久久夜色精品国产亚洲| 久久亚洲中文字幕精品有坂深雪| 久久天天躁狠狠躁夜夜2020 | 久久天天躁夜夜躁狠狠| 国产精品久久久久一区二区三区| 国产婷婷成人久久Av免费高清 | 天堂无码久久综合东京热| 久久久精品国产sm调教网站 | 国产精品成人无码久久久久久| 亚洲精品乱码久久久久久按摩 | 一本色道久久88加勒比—综合| 无码专区久久综合久中文字幕 | 久久国产精品99精品国产| 狠狠色丁香婷婷久久综合| 欧美精品九九99久久在观看| 国产精品综合久久第一页| 99久久精品国产综合一区| 狠狠久久综合| 久久久人妻精品无码一区| 欧美成人免费观看久久| 精品国产乱码久久久久软件| 成人久久免费网站|