一、前端刚需
- 前端开发门槛低、人员参差不齐
- 前端开发只会写页面,不懂算法,伪程序员
- 面试考算法,通过率极低
- 看过C、C++、Java版算法,JavaScript版的却不会写
- 程序 = 算法 + 数据结构
二、快速入门
- 通过“解题”夯实基础算法
- 理解算法的本质,学会挖掘“规律”
- 举一反三,学会变通和延伸
三、课程内容介绍
- 基础算法(16)
- 字符串
- 反转字符串中的单词Ⅲ
- 计算二进制子串
- 数组
- 电话号码的组合
- 卡牌分组
- 种花问题
- 格雷编码
- 正则表达式
- 重复的子字符串
- 正则表达式匹配
- 排序
- 冒泡排序
- 选择排序
- 按奇偶排序数组
- 数组中的第K个最大元素
- 最大间距
- 缺失的第一个正数
- 递归
- 复原IP地址
- 与所有单词相关联的字符串
- 字符串
- 数据结构(12)
- 堆
- 根据字符串出现频率排序
- 超级丑数
- 栈
- 棒球比赛
- 最大矩形
- 队列
- 设计循环队列
- 任务调度器
- 链表
- 排序链表
- 环形链表
- 矩阵
- 螺旋矩阵
- 旋转图像
- 二叉树
- 对称二叉树
- 验证二叉树
- 堆
- 进阶算法(4)
- 贪心算法
- 买卖股票的最佳时机
- 柠檬水找零
- 动态规划
- 不同路径Ⅱ
- K站中转内最便宜的航班
- 贪心算法
四、课程特色
- LeetCode真题
- 不为了讲理论而学习,一切本着从实际问题出发
- 类型全面
- 从不起眼的字符串、数组到复杂度高的动态规划、二叉树
- 通俗易懂
- 动画展示、流程图辅助,将抽象的过程跃然纸上使其茅塞顿开
- 洞穿本质
- 知其然还要知其所以然,不仅能做出答案,还要知道是怎么一步一步思考出来的
- 举一反三
- 不局限于题目本身,延伸、改编让一个技能更加通用,叹为观止
五、适用对象
- ES6
- JavaScript
六、注意事项
- 避免浮躁、按部就班
- 不投机取巧、循序渐进
PS:这只是个开始,笔记将会持续更新。。。