一、思路流程
和做数学题一样
目做(算法)
- 设计解决问题的解决算法:把这道题/这个问题的解决思路想清楚!
- 算法的本质:寻找规律并实现
- 如何寻找规律:发现输入和输出的关系,寻找突破点
手做(数据结构)
实现 = 编码 + 调试
- 动手实现,要想好用那些数据结构来实现上面的“目做”的思路
- 可以将一个问题分解成小的功能(划分函数),一个一个功能解决之!
- 不要思路不明确就进行写代码实现,不然到后面的调试会很复杂,就出现了那种“修水管”那张滑稽图一样
脑做(体系)
- 回顾知识点,充实知识体系
- 学过的数据结构要清楚理解他的常用操作,学完就要将其“封装”好,用的时候才能更好的用,还有写题过程中,要总结“错题”(和学数学一样),这样下次才不会被同一个问题卡住,要学会总结
二、解法总结
解法总结
SOP | ||
暴力解法(内置API) | 最直观的解法 | |
暴力解法(穷举算法) | 分类讨论 | |
字符串类的 |
| |
链表类 |
| 给定双指针,同向移动、相向移动、背向移动等处理 |
子问题叠加类 |
| |
递归算法 | 适用于递归解决的问题通常有两个特点:
eg:前n个自然数的和、n个数之和这两个问题就可以用递归来解决 |
三、前端
- 技术选型
- UI结构分块,可以参考React设计哲学(步骤一:将 UI 拆解为组件层级结构 )
- 数据结构设计
评论区