Post

Leetcode Readme

LeetCode

  • 中国站
  • 国际站
  • PS
    • 建议在中国站做完之后,可以去看下国际站,国际上对题目的理解
  • 解题语言全部使用 Golang

解题顺序

  • 按照 Tag 分类
  • 从简单到困难

解题方法

  • 先思考、写出方法
  • 写出伪代码
  • 写出自己答案
  • 运行查看结果 维度
  • 复习
    • 第一遍:解题
    • 第二遍:写出最优解题方案
    • 第三遍:最快时间写出解题答案

解题 Tag顺序

  • 数组
  • 链表
  • 哈希表
  • 字符串
  • 双指针罚
  • 栈与队列
  • 二叉树
  • 回溯算法
  • 贪心算法
  • 动态规划
  • 单调栈
  • Other

算法性能分析

详细可以查看本站文章:DataStructure

  • 时间复杂度:运行时需要的总步数,通常时问题规模的函数(大 O 表示)
    • 常数 O(1)< 对数阶 O(log2n) < 线性阶 O(n) < 线性对数阶 O(nlog2n) < 平方阶 O(n^2) < 多项式阶 O(n^C) < 指数阶 O(C^n)
    • 时间复杂度分析基本策略:从内向外分析,从最深层开始分析
    • 看有 几层循环,一层循环是 O(n)或者 O(log2n);两层循环是 O(n^2) ;三层循环是 O(n^3) (一般规律如此,具体问题具体分析)
  • 空间复杂度:执行时所占用的储存空间,通常时问题规模的函数,运行过程中临时占用存储空间大小的度量
    • 程序代码所占用的空间
    • 输入数据所占用的空间
    • 辅助变量 所占用的空间(估算时间复杂度,一般值分析辅助变量所占用的空间)
This post is licensed under CC BY 4.0 by the author.