随笔分类 -  LeetCode_并查集

摘要:本文参考 Leetcode 547. 省份数量 题解区:https://leetcode-cn.com/problems/number-of-provinces/solution/python-duo-tu-xiang-jie-bing-cha-ji-by-m-vjdr/ 一 . 并查集 基本概念 阅读全文
posted @ 2021-05-01 12:41 谁在写西加加 阅读(133) 评论(0) 推荐(0)
摘要:使用并查集算法,核心思想:将 equations 中的算式根据 == 和 != 分成两部分,先处理 == 算式,使得他们通过相等关系各自勾结成门派;然后处理 != 算式,检查不等关系是否破坏了相等关系的连通性。 /* * @lc app=leetcode.cn id=990 lang=cpp * * 阅读全文
posted @ 2020-05-08 00:35 谁在写西加加 阅读(198) 评论(0) 推荐(0)
摘要:1.DFS 这道题让将矩阵中被'X'包围的不接触边框的'O组成的连通分量用'X'替换,显然可以使用DFS的方法解答,直接的想法是,遍历二维矩阵,遇到‘O’使用DFS判断由'O'组成的连通分量有没有接触到边框, 没有接触到DFS返回true,并将'O组成的连通分量用'X'替换;否则返回false,不替 阅读全文
posted @ 2020-04-20 23:39 谁在写西加加 阅读(176) 评论(0) 推荐(0)
摘要:本题可以套用和 [LeetCode] 200. Number of Islands 岛屿的数量 与 [LeetCode 695] Max Area of Island 岛的最大面积一样的dfs模版,不同的是DFS的遍历路径不同,本题 采用的是类似十字遍历方式,具体见如下代码。 1 /* 2 * @D 阅读全文
posted @ 2020-04-12 23:35 谁在写西加加 阅读(193) 评论(0) 推荐(0)
摘要:这道求岛屿数量的题的本质是求矩阵中连续区域的个数,很容易想到需要用深度优先搜索 DFS 来解,我们需要建立一个 visited 数组用来记录某个位置是否被访问过。由于本题没有要求不能破坏原矩阵, 所以可以使用DFS的方法将矩阵中每一块连续的1都置为0,以此标记以访问过,则可以到空间复用的目的。特别重 阅读全文
posted @ 2020-04-12 22:10 谁在写西加加 阅读(214) 评论(0) 推荐(0)