
leetcode刷题
NoctCYQ
这个作者很懒,什么都没留下…
展开
-
python刷LeetCode 559. N叉树的最大深度
class Solution: def maxDepth(self, root: 'Node') -> int: while root: stack = [[1,root]] max=1 while stack: node = stack.pop() if node[1].children: for ch原创 2020-05-25 16:49:12 · 233 阅读 · 0 评论 -
python刷LeetCode 938. 二叉搜索树的范围和 看看北京某公司Python后端岗的真实面试题
之前面试北京某公司Python后端时,这道题作为笔试题之一出现了。今天正好刷到,就和大家分享一下。首先,这道题并不是很难,BFS或者DFS就可以实现。借用一个队列或者栈,设置循环结束的条件为判断队列或栈是否为空。当然,如果你还想搞其他花里胡哨的也可以。需要注意的是树是二叉搜索树,所以搜索树的特性可以优化时间复杂度。父节点的值介于左孩子节点和右孩子节点之间,所以我们每次取出一个节点时,对于其孩子节点是否加入下一次遍历可以做出判断:如果父节点值大于最小值,那其左孩子节点可能也大于最小值;对于最大值亦然。反之原创 2020-05-25 12:03:37 · 356 阅读 · 0 评论 -
python刷LeetCode 4. 寻找两个正序数组的中位数 暴力挑战hard
python刷LeetCode 4. 寻找两个正序数组的中位数 暴力挑战hard题目要求时间复杂度log n,但我一开始只想到二分排序,所以就nlogn提交试一下,居然通过了,不过排名垫底就是了。。。。。。然后分享一下代码:def sort(li,first,last): if first>=last: return low,high=first,last pivot=li[first] while low<high: whi原创 2020-05-24 19:00:54 · 220 阅读 · 0 评论 -
Python刷题LeetCode,山脉数组
1095.山脉数组# """# This is MountainArray's API interface.# You should not implement it, or speculate about its implementation# """#class MountainArray:# def get(self, index: int) -> int:# ...原创 2020-05-03 17:09:59 · 180 阅读 · 0 评论 -
递归调用的出口问题(return None问题)
递归调用的出口问题(return None问题)最近刷LeetCode山脉数组(这道题的解法我们下一篇讨论)一题时,遇到了这个问题。如下的写法会导致返回值为None,从print的mid来看,mid是被正确的找到的。def search(alist, first, last, item): mid = (first + last) // 2 print(mid) if ali...原创 2020-05-02 18:45:12 · 1121 阅读 · 1 评论