Участник:Novitskiy97/Flower Planting with no Adjacent

Материал из DISCOPAL
< Участник:Novitskiy97
Версия от 14:45, 24 декабря 2020; Novitskiy97 (обсуждение | вклад) (Новая страница: «https://leetcode.com/problems/flower-planting-with-no-adjacent/ Python 3 <code-python> class Solution: def gardenNoAdj(self, n: int, paths: List[List[int]]…»)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

https://leetcode.com/problems/flower-planting-with-no-adjacent/

Python 3

 
class Solution:
    def gardenNoAdj(self, n: int, paths: List[List[int]]) -> List[int]:
 
        def next_available_color(l):
            s = set(l)
            count = 1
            while True:
                if count not in s:
                    return count
                count += 1
 
        adj = defaultdict(list)
        for x,y in paths:
            adj[x].append(y)
            adj[y].append(x)
 
        colors = {}
        for v in range(1, n + 1):
            used_colors = [colors[u] for u in adj[v] if u in colors]
            available = next_available_color(used_colors)
            colors[v] = available
 
        return colors.values()