每周的目录内, test文件夹用于存放单元测试文件, 方便调试用.
使用实际项目级别的type-script, eslint, husky, lintstage, commitlint对代码, 格式, 规范, 进行约束. 因此为了可读性, 不会出现所谓"过于简洁的代码".
使用.
安装: npm i
新增git add + commit: npm run g
要运行某周的测试文件, 去package.json修改 scripts: test:spec 这行后方的路径
运行测试: npm testweek01/代表第一周作业提交目录,以此类推。- 请在对应周的目录下新建或修改自己的代码作业。
- 每周均有一个
REDAME.md文档,你可以将自己当周的学习心得以及做题过程中的思考记录在该文档中。
- 先将本仓库 Fork 到自己 GitHub 账号下。
- 将 Fork 后的仓库 Clone 到本地,然后在本地仓库中对应周的目录下新建或修改自己的代码作业,当周的学习总结写在对应周的 README.md 文件里。
- 在本地仓库完成作业后,push 到自己的 GitHub 远程仓库。
- 最后将远程仓库中当周的作业链接,按格式贴到班级仓库对应学习周的 issue 下面。
- 提交 issue 请务必按照规定格式进行提交,否则作业统计工具将抓取不到你的作业提交记录。
详细的作业提交流程可以查阅:https://shimo.im/docs/m5rtM8K8rNsjw5jk/
如果对 Git 和 GitHub 不太了解,请参考 Git 官方文档 或者极客时间的《玩转 Git 三剑客》视频课程。
想掌握一道题, 至少要做五遍. 学习算法最大的误区就是只做一遍.
分清优先级, 时间是根据个人的优先级分配出来的.
过遍数比花大量时间在一道题上更加重要.
多过遍数, 多看解法, 多死记硬背, 杜绝死磕 AC.
- 最多 15 分钟读题思考
- 没思路直接看解法. 注意多看不同解法, 切换 leetcode 国内外的站点, 看 high vote disguss, 对比不同解法优劣. 有思路则正常开始写代码.
- 背诵, 默写好的解法. 这一步非常重要.
- 第一遍结束后, 立刻闭卷, 不看答案, 自己写.
- LeetCode 提交 -> debug -> accept
- 自己写出其他解法, 体会不同解法的执行时间, 直到不同解法也通过.
- 24 小时后, 重复做前一天的.
- 比较不同解法的熟练程度, 对不熟练的进行专项练习
- 如果工作较忙 时间不够, 课程学习时可以只进行第三遍, 将第四遍推迟. 且将第三遍第四遍简化为快速(例如 10 分钟 15 分钟)写出关键伪代码.
- 一周后, 返回练习.
- 对不熟练的进行专项练习
- 第五遍为面试前的恢复训练
- 反复审题
- 列出所有能想出的可能解 (无论暴力, 非暴力, 甚至不符合题目细节要求的可能解)
- 对比可能解的时间空间复杂度, 寻找优化方式
- 写代码
- 写测试样例
常用思维: 空间换时间, 升维, 寻找最小子问题. 如果想了一阵还是没思路, 直接看答案.