1、理解题意
读懂题目要求:
- 要实现什么功能
- 案例分析
- 注意限制条件(时间复杂度、空间复杂度)
2、单步运行
这一步以数据结构和常用算法的掌握为前提,需要通过大量刷题来提升解题的敏感度。
生成解题思路
- 分析基本示例
- 考虑常用的算法思路
- 筛选出符合题意的算法思路
3、抽象化
- 抽象化算法行为
- 分析给出的算法为什么符合题意
4、编码
这一步建立在掌握对应语言和API的基础上,是从‘抽象到具体’的过程。
- 将算法的行为具体化成实际代码
- 得到初始代码
5、测试
考虑以下情况,进行代码修改:
- 边界条件
- 数组越界问题
- 死循环问题
- 资源释放问题
6、优化
结合不同场景做相应优化:
- 编码结构不够有效?
- 算法不够优秀?
- 数据问题?