五毒神掌 - 第一遍:不要死磕、要看diamante学习(一定要看国际版高票回答) - 第二遍:自己写 - 第三遍:24小时后 - 第四遍:一周后 - 第五遍:面试前 数据结构 - 一维 基础:数组array、链表Linked List 高级: 栈stack (括号匹配为题、直方图找最大面积、接雨水) 队列queue (滑动窗口、 优先队列->堆、优先队列的第K大元素) 双端队列deque 集合set 映射map - 二维 基础: 树tree(DFS、BFS)(硬币兑换、爬楼梯) 图graph 高级: 二叉搜索树 binary search tree(red-black tree ,AVL) 堆heap 并查集disjoint set 字典树Trie - 特殊 位运算:(N皇后、数独) 布隆过滤器 LRU Cache 算法 - if-else,switch - for,whileloog->Iteration - 递归Recursion(Divide & Conquer,Backtrace) - 搜索Search:DFS、BFS、A* - 动态规划(动态递推) - 二分查找 - 贪心 - 数学Math,几何Geometry 学习要点 - 基本功:深厚工地来自于过遍数 - 最大误区:只做一遍 - 五毒神掌 - 刻意练习:联系缺陷弱点地方、不舒服、枯燥 - 反馈-看题解、看国际版高票回答 经典习题 爬楼梯、硬币兑换 括号匹配、括号生成、直方图最大面积、滑动窗口 二叉树遍历、分层输出数树、判断二叉树排序树 股票买卖、偷房子、字符串编辑距离、最长上升子序列、最长公共子序列 异位词、回文串、regex和通配符匹配 高级数据结构(Trie、BloomFilter、LRU cache) 五毒神掌 心得: 1. 现在感觉算法练习刚入门,确实很难坚持,一定要走出舒适区 2. 这三个月算法训练,前期热情高昂,后期懈怠,还是没有形成一个习惯 3. 结束后继续修行
Activity