LeetCode做题笔记—并查集相关题目
有关并查集 Union Find Set 的做题笔记,Python实现 岛屿的个数 Number of Islands LeetCodeCN 第200题链接 第一种方法:构造一个简单的并查集,将输入的二维数组坐标一维化。 实例化并查集对象后…
有关并查集 Union Find Set 的做题笔记,Python实现 岛屿的个数 Number of Islands LeetCodeCN 第200题链接 第一种方法:构造一个简单的并查集,将输入的二维数组坐标一维化。 实例化并查集对象后…
有关动态规划 Dynamic Programming 的做题笔记,Python实现 爬楼梯 Climbing Stairs LeetCodeCN 第70题链接 第一种方法:递归,显然是个斐波那契数列,时间复杂度 $O(2^n)$很高,这样没…
这是一套经典的动态规划题目,题目主干都是给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格,在不同的情况下求在什么时候买卖以获取最大利润。 121题是只能买卖一次的情况下求最大利润; 122题可以买卖任意多次; 123题可以买卖…
有关位运算的做题笔记,Python实现 位1的个数 Number of 1 Bits LeetCodeCN 第191题链接 第一种方法:遍历所有二进制位,通过取模 或者与运算 判断尾数是否为1,然后把n右移一位 第二种方法:通过 直接摘掉最…
有关BFS(广度优先搜索)与DFS(深度优先搜索)、回溯、剪枝的做题笔记,Python实现 二叉树的层次遍历 Binary Tree Level Order Traversal LeetCodeCN 第102题链接 第一种方法:BFS广度优…
有关递归与分治的做题笔记,Python实现 Pow(x, n) LeetCodeCN 第50题链接 第一种方法:暴力乘法,时间复杂度 ,LeetCode会超时 第二种方法:分治(递归) ,时间复杂度 稍微改成下面这样容易理解一些 第二种方法…
有关二叉树的做题笔记,Python实现 二叉树的定义 翻转二叉树 Invert Binary Tree LeetCodeCN 第226题链接 第一种方法:递归 第二种方法:遍历 验证二叉搜索树 Validate Binary Search …
有关哈希表的做题笔记,Python实现 有效的字母异位词 Valid Anagram LeetCodeCN 第242题链接 第一种方法:对两个字符串排序后对比 第二种方法:用哈希表对字符串内每个字符计数,最后比对哈希表,这里用dict实现 …
有关栈、堆、队列的做题笔记,Python实现 栈 Stack 有效的括号 Valid Parentheses LeetCodeCN 第20题链接 使用 Stack 栈 来操作,用了一个技巧是先做一个字典, 为右括号, 为左括号。 简化路径 …
有关链表的做题笔记,Python实现 链表定义 反转链表 Reverse Linked List LeetCodeCN 第206题链接 遍历链表,迭代前节点prev,缓存当前节点current的下一节点,然后把当前节点的next指针指向前节…