学习笔记 开营最后一刻才加入训练营,之前的预习课在第一周也进行了集中学习,花费了一定的时间 本周作业只完成了5道题,剩余的题目计划在2周内,不耽误当周作业的前提下,补充做完,在此立个flag督促自己
本周学习知识要点总结:
========>学习习惯<========= 1、三分看视频理解,七分练习 最佳:1.5-2.0倍速观看,难点反复看(实践中ing,效果很好) 最差:类似看美剧,原速看完,仅一遍(已抛弃此法)
2、摒弃旧习惯 不要死磕(逐步改进中) 五毒神掌:敢于放手,敢于死记硬背代码(尝试使用中) 不懒于看高手的代码(国际版高票回答)(逐步使用中)
最佳:5分钟想不出来,直接看题解和高票答案,用五毒神掌变成自己的东西。这个过程:觉得自己很菜或自卑,但是有借势而起的感觉 最差:死磕
3、学习方法上 改变自己的学习习惯(不要死磕) 五毒神掌(重要的是5,过遍数,而不是每次花很长时间) 不要死磕AC了事,要看高票代码和高质量题解 最大误区:题目只做一遍
=========>做题四件套<=========== Clarification Possible Solutions compare(time/space) optimal(加强) Coding(多写) Test Cases
=========>五毒神掌(5遍刷题法)<===========(实践中ing) 第一遍: 5分钟:读题+思考 直接看题解:注意,多解法,比较解法优劣 背诵、默写好的解法 第二遍: 马上自己写-->leetCode提交 多种解法比较、体会-->优化 第三遍: 过了一天后,再重复做题 不同解法的熟悉程度-->专项训练 第四遍: 过了一周之后,反复联系相同题目 第五遍: 面试前一周,恢复性训练
==========>总结<=========== 职业训练:拆分知识点、可以练习、反馈 五步刷题法 做算法最大误区:只刷一遍 自顶向下编程方法
===========>常用解题思路(自我总结,持续改进更新)<============ 1、找最近重复子问题 1.1 从最简单的情况找规律 1.2 泛化,找重复子问题
2、双指针法(大概率针对有序数组) 2.1 快慢指针 2.2 两侧夹逼双指针
3、哈希表 3.1 所有访问过的元素记录哈希表中,查看新数据是否存在哈希表中
4、栈 4.1 具有最近相关性考虑用栈解决 4.2 具有先来后到排队的问题考虑用栈解决
5、队列 5.1 滑动窗口类题目
6、递归(LeetCode题解提供) 子问题和原问题具有相同结构,考虑自上而下递归