算法训练营第二期
第一周,链表、栈、队列
第一天:链表(周三)
第二天:直播 + 栈(周六)
2、栈的基础知识
第三天:队列(周日)
1、队列的基础知识
2、优先队列基础知识
5、设计循环双端队列( LeetCode 641 )
补充内容
以下内容比较简单,学完队列还有余力的时候可以快速过一遍下面这些链表题。
第二周,递归、排序、贪心
第一天:直播 + 递归 + 简单排序算法(周三)
1、递归基础知识
2、冒泡排序基础知识
3、选择排序基础知识
4、插入排序基础知识
8、归并排序基础知识(明天上传)
9、计算右侧小于当前元素的个数 ( LeetCode 315 )(明天上传)
10、合并 K 个升序链表( LeetCode 23 )(明天上传)
第二天:复杂排序算法(周六)
1、栈 + 队列问题答疑
2、快速排序基础知识
3、计数排序基础知识
4、有序数组的平方
5、盛最多水的容器
6、两数之和
7、二叉堆基础知识(挪到二叉树章节)
8、堆排序基础知识(挪到二叉树章节)
第三天:贪心算法(周日)
1、贪心算法基础知识
4、用最少数量的箭引爆气球( LeetCode 452 )
7、摆动序列( LeetCode 376 )
8、买卖股票的最佳时机 II( LeetCode 122 )
第三周,搜索算法、回溯算法、位运算、二分查找
第一天:二分查找(周三)
1、二分查找基础知识
2、搜索插入位置( LeetCode 35 )
3、在排序数组中查找元素的第一个和最后一个位置( LeetCode 34 )
5、搜索二维矩阵( LeetCode 74 )
6、寻找两个正序数组的中位数( LeetCode 4 )
7、剑指 Offer 53 – II. 0~n-1中缺失的数字
8、剑指 Offer 53 – I. 在排序数组中查找数字 I
第二天:直播 + 位运算(周六)
1、排序算法问题、贪心算法问题答疑
2、位运算基础知识
5、比特位计数( LeetCode 338 )
6、位 1 的个数( LeetCode 268 )
7、4 的幂( LeetCode 342 )
8、只出现一次的数字( LeetCode 136 )
第三天:搜索 + 回溯(周日)
1、搜索基础知识
2、回溯基础知识
5、子集( LeetCode 78 )
6、组合总和 II( LeetCode 40 )
7、括号生成( LeetCode 22 )
8、火柴拼正方形( LeetCode 473 )
9、接雨水 II( LeetCode 407 )
第四周,二叉树、二叉查找树、线段树
第一天:二叉树(周三)
1、二叉树基础知识
6、二叉树的锯齿形层序遍历( LeetCode 103 )
7、从前序与中序遍历序列构造二叉树( LeetCode 105 )
第二天:直播 + 二叉查找树(周六)
1、回溯算法问题、位运算问题、二分查找问题直播答疑
2、二叉查找树基础知识
3、将有序数组转换为二叉搜索树( LeetCode 108 )
4、把二叉搜索树转换为累加树( LeetCode 538 )
5、删除二叉搜索树中的节点( LeetCode 450 )
6、序列化和反序列化二叉搜索树( LeetCode 449 )
7、计算右侧小于当前元素的个数( LeetCode 315 )
第三天:线段树(周日)
1、线段树基础知识
2、区域和检索 – 数组可修改( LeetCode 307 )
3、天际线问题( LeetCode 218 )
第五周、动态规划、图算法
第一天:动态规划(周三)
1、动态规划基础知识
4、三角形最小路径和( LeetCode 120 )
9、地下城游戏( LeetCode 174 )
第二天:二叉树直播 + 动态规划(周六)
1、二叉树算法问题直播答疑
2、买卖股票的最佳时机( LeetCode 121 )
3、买卖股票的最佳时机II( LeetCode 122 )
4、买卖股票的最佳时机III( LeetCode 123 )
5、买卖股票的最佳时机IV( LeetCode 188 )
第三天:图算法(周日)
1、图基础知识
2、省份数量( LeetCode 547 )
3、课程表( LeetCode 547 )