Leetcode Readme
LeetCode
解题顺序
- 按照 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.