LeetCode-Hard
文章平均质量分 92
fengkeyleaf
经常二次元,偶尔敲代码
展开
-
124. Binary Tree Maximum Path Sum(二叉树中的最大路径和)
注意,当前Node应该返回Node在MaximumPath这种情况下的最大值,且其Parent也参与到MaximumPath之中,1)种的四种情况,只有1.4是不包含Node.parent在MaximumPath的,所以我们只需要返回1.1和1.2和1.3,三者之中的最大值即可。从这点也说明,MaximumPath一定向下取,就不能返回,所以当我们包含某个Node,那么我们只能包含其左孩子或右孩子,而不能两者都取到,否则该Node会被重复计算两次,不符合题目要求。那么具体应该怎么做呢?......原创 2022-07-23 04:02:10 · 198 阅读 · 0 评论 -
145. Binary Tree Postorder Traversal(二叉树的后序遍历)两种解法(C++ & 注释)
145. Binary Tree Postorder Traversal(二叉树的后序遍历)1. 题目描述2. 递归(Recursion)2.1 解题思路2.2 实例代码3. 迭代(Iteration)3.1 解题思路3.2 实例代码1. 题目描述给定一个二叉树,返回它的 后序 遍历。示例:进阶: 递归算法很简单,你可以通过迭代算法完成吗?题目链接:中文题目;英文题目2. 递归(Recursion)2.1 解题思路2.2 实例代码3. 迭代(Iteration)3.1 解题思路3.2原创 2020-08-12 15:10:13 · 303 阅读 · 0 评论 -
995. Minimum Number of K Consecutive Bit Flips(K 连续位的最小翻转次数)解法(C++ & 注释)
995. K 连续位的最小翻转次数1. 题目描述2. 贪心(Greedy)2.1 解题思路2.2 实例代码3. 参考资料1. 题目描述在仅包含 0 和 1 的数组 A 中,一次 K 位翻转包括选择一个长度为 K 的(连续)子数组,同时将子数组中的每个 0 更改为 1,而每个 1 更改为 0。返回所需的 K 位翻转的次数,以便数组没有值为 0 的元素。如果不可能,返回 -1。示例 1:输入:A = [0,1,0], K = 1输出:2解释:先翻转 A[0],然后翻转 A[2]。示例 2:原创 2020-07-26 14:09:01 · 184 阅读 · 0 评论 -
60. Permutation Sequence(第k个排列)解法(C++ & 注释)
60. Permutation Sequence(第k个排列)1. 题目描述2. 分组查找(Search by Groups)2.1 解题思路2.2 实例代码3. 参考资料1. 题目描述给出集合 [1,2,3,…,n],其所有元素共有 n! 种排列。按大小顺序列出所有排列情况,并一一标记,当 n = 3 时, 所有排列如下:“123”“132”“213”“231”“312”“321”给定 n 和 k,返回第 k 个排列。说明:给定 n 的范围是 [1, 9]。给定 k 的范原创 2020-07-10 22:51:39 · 334 阅读 · 1 评论