期末总结 方法 一定要多过遍数。自己熟的要多练习,熟的要巩固,不巩固太可惜了 看题,不要死磕,自己做琢磨会的都得图灵奖了 顶层设计编码方式,先用文字写提纲,再写代码 经常用到的代码,写模板。画思维导图,名字+模板代码,要求:方便查阅 化繁为简的思想,本质:寻找重复性 —> 计算机指令集 人肉递归低效、很累 找到最近最简方法,将其拆解成可重复解决的问题 数学归纳法思维 五毒神掌 第一遍:不要死磕,要看代码学习(一定要看国际版的高票回答) 第二遍:自己写 第三遍:24小时后 第四遍:一周后 第五遍:面试前 面试技巧 Clarification:明确题目意思、边界、数据规模 Possible solutions:穷尽所有可能的解法 compare time/space optimal solution Coding:代码简洁、高性能、美感 https://shimo.im/docs/rHTyt8hcpT6D9Tj8 Test cases 多看看别人做的笔记。怕自己的笔记做的不全面,多参考优秀同学的笔记 知识点 数据结构 维: • 基础:数组 array (string), 链表 linked list • 高级:栈 stack, 队列 queue, 双端队列 deque, 集合 set, 映射 map (hash or map), etc 二维: • 基础:树 tree, 图 graph • 高级:二叉搜索树 binary search tree (red-black tree, AVL), 堆 heap, 并查集 disjoint set, 字典树 Trie, etc 特殊: • 位运算 Bitwise, 布隆过滤器 BloomFilter • LRU Cache 树