leetcode刷题技巧

  1. 对于一个list嵌套list,基于内list的某个值进行排序,如果有相等的,再基于内list的另外一个值进行排序。(嵌套一层,二层,三层)

python中的队列

from collections import deque
deque 数据类型来自于collections 模块,支持从头和尾部的常数时间 append/pop 操作。若使用 Python 的 list,通过 list.pop(0) 去除头部会消耗 O(n)O(n) 的时间。(摘自leetcode 199. 二叉树的右视图的官方题解)

删除数组的第一个元素方法

  1. pop方法
    list.pop(0)

  2. remove方法
    list.remove(list[0])

  3. slice使用
    list = list[1:]

  4. del方法
    del list[0]

初始化一个二维数组

[ [0] * col for i in range(row)]

判断奇偶

num & 1 == 1 奇数
num & 1 == 0 偶数

广度优先算法

  • 有一个栈来存储遍历节点
  • 一个二维数组来存储是否遍历过
  • 注意处理边界条件为空的情况

深度优先遍历

  • 递归思想
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容