美文网首页
『图』不邻接植花1042

『图』不邻接植花1042

作者: iamlightsmile | 来源:发表于2020-04-18 20:54 被阅读0次

题目相关

题目解读

由题意知,和题目相关的数据结构是无向图。其中图中的每个节点的度最多为3。为了求解具体花色,我们可以模拟这个植花过程。即对于花园i,我们得到其所有邻接花园的花的种类的集合,然后在其它花色中选择一个,并重复该过程。

Python相关

我们可以用邻接表来表示该图结构,具体的为Python中的collections.defaultdict(list)结构。
同时用大小为N+1的数组存储对应花色表示,之所以是N+1是为了和给定的数据表示一致,不然还得来回+-1。
为了方便,我们可以将数组元素全部初始化为0。

具体实现

class Solution:
    def gardenNoAdj(self, N: int, paths: List[List[int]]) -> List[int]:
        # 根据相邻花园确定本花园种类
        def get_flower(exits):
            for i in range(1, 5):
                if i not in exits:
                    return i
            return -1
        # 创建邻接表
        dic = collections.defaultdict(list)
        for i, j in paths:
            dic[i].append(j)
            dic[j].append(i)
        # 初始化为0配合获取花种类函数,同时列表长度设为N+1简化表示
        res = [0] * (N + 1)
        for i in range(1, N + 1):
            exits = [res[x] for x in dic[i]]
            res[i] = get_flower(exits)
        return res[1:]

相关文章

  • 『图』不邻接植花1042

    题目相关 原题链接:1042. 不邻接植花 - 力扣(LeetCode) 涉及知识:图 题目难度:★ 题目解读 由...

  • 1042. 不临接植花(Python)

    难度:★★★☆☆类型:图方法:贪心 题目 力扣链接请移步本题传送门[https://leetcode-cn.com...

  • 《论语》里仁篇25/26

    2021.11.05 子曰:“德不孤,必有邻。 子曰:“德不孤,必有邻。 子曰:“德不孤,必有邻。 子曰:“德不孤...

  • 2018-07-11-大数

    题目:Problem - 1042

  • 1042 Shuffling Machine (20 point

    1042 Shuffling Machine

  • 彩虹花伴我成长:新定位,新期待

    2019彩虹花集训营三月作业 C1042白红鸽辽宁 彩虹花晨读改变了我和我们 每天我们用彩虹花晨读迎来清晨...

  • 1042

  • 1042

    8月2日,农历七月初五,阵雨,周二 早上出去,终于了了一桩心愿。小房子那边的床重新包下。用的是以前家里旧窗帘,娃爸...

  • 1042

    2022.11.03 星期四 阴 早晨醒来各个群里发消息说今天核酸检测取消。昨天答应婆婆今天带她去医院检查...

  • 1042

    2022.11.03 星期四 阴 早晨醒来各个群里发消息说今天核酸检测取消。昨天答应婆婆今天带她去医院检查...

网友评论

      本文标题:『图』不邻接植花1042

      本文链接:https://www.haomeiwen.com/subject/eqxavhtx.html