上一页 1 2 3 4 5 6 7 8 9 10 ··· 15 下一页
摘要: 题目链接 解题思路:计算所有,在i卖出,利润最大为多少,求出的所有结果中,最大的那个,就是最终的结果。那么在i卖出,利润最大为多少?就是[0, i - 1]价格最低的时候。 代码 class Solution: def maxProfit(self, prices: List[int]) -> in 阅读全文
posted @ 2024-12-26 15:03 ouyangxx 阅读(16) 评论(0) 推荐(0)
摘要: 题目链接 解题思路:不要被「形状」所迷惑,其实就是,第i行(从0开始),一共有i + 1个数,第一个数和最后一个数是1,其余的数是上一行,「相同位置」+「左边一个位置」。 代码 class Solution: def generate(self, numRows: int) -> List[List 阅读全文
posted @ 2024-12-26 14:45 ouyangxx 阅读(12) 评论(0) 推荐(0)
摘要: 题目链接 解题思路:其实就是在层序遍历的过程中,把next指针填上 代码 class Solution: def connect(self, root: 'Optional[Node]') -> 'Optional[Node]': if root == None: return None # 层序遍 阅读全文
posted @ 2024-12-26 14:39 ouyangxx 阅读(11) 评论(0) 推荐(0)
摘要: 题目链接 解题思路:这里面有一个构造「平衡二叉树」,似乎很难。实际上,我们每次构造时都拿中点划分,就能得到平衡的。 具体来说process(nums, L, R)在nums[L, R]上构造平衡搜索二叉树,我们以中点mid=(R+L)/2是头,然后左节点process(nums, L, mid - 阅读全文
posted @ 2024-12-25 17:50 ouyangxx 阅读(24) 评论(0) 推荐(0)
摘要: 题目链接 解题思路:首先我们得知道人工怎么建这棵树。先序遍历[0, R1]第一个节点,就是根。然后我们在中序遍历[0, R2]找到根的位置,假如是x,那么,中序遍历中[0, x-1]就是左子树,中序遍历中[x+1, R2]就是右子树。那么先序遍历呢?左子树节点个数是x个,先序遍历是要先遍历完左子树, 阅读全文
posted @ 2024-12-25 17:37 ouyangxx 阅读(29) 评论(0) 推荐(0)
摘要: 题目链接 解题思路:做类似的二叉树的题,一定要有宏观的思路,不要陷入局部。例如,要「公平」对待每个节点,每个节点,可以单独看作「以该节点为根」的二叉树。本题目最大深度,我们单独看某一个节点,其实就是,max(左子树的深度,右子树的深度) + 1,那么左子树的深度,和右子树的深度怎么求?直接递归调用即 阅读全文
posted @ 2024-12-25 17:08 ouyangxx 阅读(13) 评论(0) 推荐(0)
摘要: 题目链接 解题思路:和层序遍历有明显的不同。通过观察,可以得到,当前层,和下一层的顺序是「相反」的,遇到这种相反的问题,考虑用栈。本题就是用两个栈,一个栈在放入时,先放左儿子,再放右儿子,另一个栈在放入时,先放右儿子,再放左儿子。然后两个栈交替使用即可。 为什么能得到这个思路?观察得到的 代码 cl 阅读全文
posted @ 2024-12-25 17:00 ouyangxx 阅读(21) 评论(0) 推荐(0)
摘要: 题目链接 解题思路:层序遍历就用队列,唯一需要注意的就是,要每一层单独收集,所以要用一个变量,记录每一层需要收集的数目,同时还要记录下一层需要收集的数目 代码 class Solution: def levelOrder(self, root: Optional[TreeNode]) -> List 阅读全文
posted @ 2024-12-25 16:43 ouyangxx 阅读(17) 评论(0) 推荐(0)
摘要: 题目链接 解题思路:递归的思路,就是左子树和右子树的值相等,同时,左子树的左子树与右子树的右子树要相似,左子树的右子树与右子树的左子树要相似。看代码很清晰 代码 class Solution: def process(self, node1, node2) -> bool: if node1 == 阅读全文
posted @ 2024-12-25 16:25 ouyangxx 阅读(9) 评论(0) 推荐(0)
摘要: 题目链接 解题思路:以某个节点为头,是否是搜索二叉树?其实就是问子树要信息 左子树:最大值,最小值,左子树整体是否是搜索二叉树? 右子树:最大值,最小值,右子树整体是否是搜索二叉树 得到信息后,再处理就行,详细处理看代码 代码 class Solution: class Info: def __in 阅读全文
posted @ 2024-12-25 15:59 ouyangxx 阅读(23) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 8 9 10 ··· 15 下一页