摘要: 给定一个偶数长度的数组,其中不同的数字代表着不同种类的糖果,每一个数字代表一个糖果。你需要把这些糖果平均分给一个弟弟和一个妹妹。返回妹妹可以获得的最大糖果的种类数。 示例 1: 来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/distribute 阅读全文
posted @ 2021-03-31 22:20 小千北同学超爱写代码 阅读(61) 评论(0) 推荐(0) 编辑
摘要: 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。 对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j] 。如果 s[j] >= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得 阅读全文
posted @ 2021-03-31 21:46 小千北同学超爱写代码 阅读(71) 评论(0) 推荐(0) 编辑
摘要: 给定长度为 2n 的整数数组 nums ,你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), ..., (an, bn) ,使得从 1 到 n 的 min(ai, bi) 总和最大。 返回该 最大总和 。 来源:力扣(LeetCode)链接:https://leetcod 阅读全文
posted @ 2021-03-31 17:41 小千北同学超爱写代码 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 阅读全文
posted @ 2021-03-31 17:27 小千北同学超爱写代码 阅读(45) 评论(0) 推荐(0) 编辑
摘要: 假设有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花不能种植在相邻的地块上,它们会争夺水源,两者都会死去。 给你一个整数数组 flowerbed 表示花坛,由若干 0 和 1 组成,其中 0 表示没种植花,1 表示种植了花。另有一个数 n ,能否在不打破种植规则的情况下种入 n 朵花? 阅读全文
posted @ 2021-03-31 17:26 小千北同学超爱写代码 阅读(49) 评论(0) 推荐(0) 编辑
摘要: 假设有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花不能种植在相邻的地块上,它们会争夺水源,两者都会死去。 给你一个整数数组 flowerbed 表示花坛,由若干 0 和 1 组成,其中 0 表示没种植花,1 表示种植了花。另有一个数 n ,能否在不打破种植规则的情况下种入 n 朵花? 阅读全文
posted @ 2021-03-31 17:20 小千北同学超爱写代码 阅读(43) 评论(0) 推荐(0) 编辑
摘要: 给定一个二叉树,找到最长的路径,这个路径中的每个节点具有相同值。 这条路径可以经过也可以不经过根节点。 注意:两个节点之间的路径长度由它们之间的边数表示。 class Solution: def __init__(self): self.res =0 def longestUnivaluePath( 阅读全文
posted @ 2021-03-31 16:53 小千北同学超爱写代码 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 给定一个不含重复元素的整数数组 nums 。一个以此数组直接递归构建的 最大二叉树 定义如下: 二叉树的根是数组 nums 中的最大元素。左子树是通过数组中 最大值左边部分 递归构造出的最大二叉树。右子树是通过数组中 最大值右边部分 递归构造出的最大二叉树。返回有给定数组 nums 构建的 最大二叉 阅读全文
posted @ 2021-03-31 16:15 小千北同学超爱写代码 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过也可能不穿过根结点。 class Solution: def diameterOfBinaryTree(self, root: TreeNode) -> int: self.ans = 1# 阅读全文
posted @ 2021-03-31 16:10 小千北同学超爱写代码 阅读(38) 评论(0) 推荐(0) 编辑
摘要: 给定两个非空二叉树 s 和 t,检验 s 中是否包含和 t 具有相同结构和节点值的子树。s 的一个子树包括 s 的一个节点和这个节点的所有子孙。s 也可以看做它自身的一棵子树。 来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/subtree-of 阅读全文
posted @ 2021-03-31 16:05 小千北同学超爱写代码 阅读(54) 评论(0) 推荐(0) 编辑
摘要: 给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。 你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。 来源:力扣(LeetCode)链接:https://l 阅读全文
posted @ 2021-03-31 15:54 小千北同学超爱写代码 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 、 翻转一棵二叉树。 示例: 输入: 4 / \ 2 7 / \ / \ 1 3 6 9 class Solution: def invertTree(self, root: TreeNode) -> TreeNode: if not root:return None#函数的终止条件是空的时候 #它 阅读全文
posted @ 2021-03-31 14:52 小千北同学超爱写代码 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 给定一个二叉树,检查它是否是镜像对称的。 例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 class Solution: def isSymmetric(self, root: TreeNode) -> bool: if not root:return True#如果不存在root了,就是 阅读全文
posted @ 2021-03-31 14:41 小千北同学超爱写代码 阅读(56) 评论(0) 推荐(0) 编辑
摘要: 给你一棵 完全二叉树 的根节点 root ,求出该树的节点个数。 完全二叉树 的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层,则该层包含 1~ 2h 个节点。 class Solution: 阅读全文
posted @ 2021-03-31 13:52 小千北同学超爱写代码 阅读(53) 评论(0) 推荐(0) 编辑
摘要: 给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 示例 1: 来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/same-tree著作权归领扣网络所有。商 阅读全文
posted @ 2021-03-31 13:40 小千北同学超爱写代码 阅读(44) 评论(0) 推荐(0) 编辑