算法面试专题课(Java版) - 某信307570512

247 阅读9分钟

算法面试专题课(Java版)

摆脱题海,高频经典题目归纳讲解;以练代学,短期高效完成面试准备

本套课程不讲算法基础知识,专攻算法题解。讲师作为诸多算法练习相关网站出题人,拥有多年出题及面试经验,将大厂主流经典的面试题全面归类梳理,带你掌握高效解题思路,摆脱题海,举一反三,只需20小时,完成面试准备。

全网稀缺:专攻算法面试,专注刷题练习 为拥有算法与数据结构基础但实践能力不足者准备 更短时间完成面试准备 浓缩知识点,5倍效率 完成面试所需算法 知识体系构建,针对性练习。 掌握-道题=学会-类题 总结题目类型,分析类别 题目共性,触类旁通, 脱离题海战术。 看破出题人的套路 带你站在出题人的视角, 全面剖析出题思路和考察目的, 从容应对面试。 学习刷题更学会解题 讲师带你从不同角度思考, 用多种思路完成解题, 掌握各种解题技巧。 课程亮点 以出题人第一视角,带你脱离题海,高效准备大厂面试 Java版算法刷题课,20小时内高效完成算法面试 15类70+经典面试题型 每一道题都是一个学习闭环 学、思、练、评,学会一道就能解答一类 我们不只教刷题

第1章 算法题解-课程介绍试看

课程简介:本套课程不讲算法基础知识,专攻算法题解。将主流经典的面试题全面归类梳理,带你掌握高效解题思路,摆脱题海战术, 让你短期内掌握算法面试体系,深入理解算法设计思路通过多题实践将算法思想付诸实践。

共 2 节 (19分钟) 收起列表

1-1 算法面试专题课(Java版)-课程导学 (18:43)试看 1-2 课程导学-图文教辅

第2章 算法不难,算法很有趣

万事开头难,提起计算机算法,很多同学可能觉得它很神秘、很难、很数学。其实算法源于生活,它可以形象地理解为,我们日常生活中做一件事情的具体流程。本章我们通过实际的例子,给大家树立起“算法不难学”的印象,培养起学习算法的兴趣。...

共 2 节 (16分钟) 展开列表

2-1 有趣、简单的算法问题 (15:21) 2-2 有趣简单的问题-图文解析

第3章 数学问题:经典数学算法

本章通过常见的数学相关的算法帮助大家理解面试、笔试中常见的数学算法相关的问题。

共 8 节 (95分钟) 展开列表

3-1 快速模取幂算法 (19:08) 3-2 最大公约数算法 (24:20) 3-3 最大公约数算法-图文解析 3-4 快速模取幂算法-图文解析 3-5 组合计数算法 (27:01) 3-6 组合计数-图文解析 3-7 概率相关算法 (24:26) 3-8 概率问题-图文解析

第4章 数组相关问题

数组可谓大家最熟悉的数据结构了,我们甚至都不把它作为一种数据结构——因为几乎所有编程语言都有内置的数组类型,我们往往不自觉地在使用它。别看它结构简单,我们也不能小瞧它,涉及到数组的题目可谓千变万化、层出不穷。但是万变不离其宗,我们通过典型的例题帮助大家理解数组问题的套路和解法。...

共 11 节 (122分钟) 展开列表

4-1 分桶原理求解最宽空矩形区域 (17:32) 4-2 数组作为存储单元 (15:46) 4-3 数组作为存储单元-图文解析 4-4 荷兰国旗问题 (10:47) 4-5 数组作为特殊map (17:26) 4-6 数组——作为特殊map-图文解析 4-7 双指针在数组的应用 (23:47) 4-8 数组——双指针-图文解析 4-9 数组 滑动窗口 (20:55) 4-10 替换子串使得字符串平衡问题 (15:33) 4-11 数组——滑动窗口-图文解析

第5章 链表相关的问题

链表可谓数组的亲兄弟,在笔试面试中,链表的题目不算多——因为它也算比较简单的数据结构。和数组一样,我们通常可能也不把链表作为一种数据结构。到那时我们同样不可轻视它,涉及到链表的题目大多不算太难,但是比较繁琐,我们在本章就和大家聊聊链表最基本的增、删、查、改等操作。...

共 11 节 (100分钟) 展开列表

5-1 熟悉最基本的链表操作 (09:20) 5-2 链表——基本操作-图文解析 5-3 删除和为 0 的连续节点问题 (16:55) 5-4 链表之懒删除 (13:49) 5-5 链表的懒删除-图文解析 5-6 链表翻转 (21:44) 5-7 链表的翻转-图文解析 5-8 链表滑动窗口1 (18:12) 5-9 链表的滑动窗口1-图文解析 5-10 链表之滑动窗口2 (19:57) 5-11 链表的滑动窗口2-图文解析

第6章 堆栈相关问题

堆栈是一种简单的数据结构。我们在日常生活中洗碗后叠在一起,就是一个天然堆栈的体现。计算机中的堆栈就是日常生活中这些例子的抽象,本章我们会总结探讨堆栈相关的问题。

第7章 队列相关问题

队列是先进先出的结构。日常生活中我们就会排队,计算机中的队列就是日恒生活中排队的抽象。本章我们用过例题来认识、理解队列并学习显示、隐式队列的应用

第8章 分治的特例——二分查找

二分查找是计算机科学中的一个常见且重要的算法。它基于的思想是判断一个给定的候选解是不是一个问题的真正的解比找到问题的一个真正的解容易。所以计算机也不是高高在上、万能的。我们要相信,如果我们不知道问题的解,则计算机通常也不知道。所以我们帮助计算机来“猜”一个解,再来判断这个解是否合适来调整我们的才想。...

第9章 递归与分治

我们在解决一个大问题的时候,通常也会把它切分为小问题,来一个一个解决。这是因为小问题往往比大问题更容易解决。这就是分而治之,各个击破的思想。本章,我们来聊聊如何通过计算机算法实现这个简单朴素的思想。同时,在计算中解决小问题的模式通常以相同或相似的形式出现,从而就出现了递归。递归不神秘,分治很简单,...

第10章 图相关算法

图论起源于著名数学家欧拉所研究的“七桥问题”,也就是通常我们说的一笔画问题。计算机算法面试中的图论问题,通常也不会太难,但是它涉及到的知识点比较多,例如二叉树、广度优先、深度优先等等。图论问题的特点就是综合性强,这也是在笔试面试中,命题人钟爱图论问题的元素之一吧。我们将在本章中聊聊面试中的图论问题—...

第11章 贪心算法

贪心算法是最简单、最直截了当的算法。比如我们学过的最小生成树的Prim和Krusal算法,以及最段路的dijkstra算法都是贪心算法的经典例子。贪心算法有着简单、优美的魅力。而贪心算法的难点在于证明,在本章中我们和大家聊聊贪心算法的经典应用,并对部分问题给出理论或者感性上的证明。...

第12章 位运算

位运算是计算机所特有的操作,因为计算机只认识0和1,所以它们天然地“善于”位运算操作。我们在本章和大家探讨下一些位元算在解决问题时的经应用,同时也为学习动态规划打下一些基础。因为有一类动态规划题目的状态表示需要使用位运算。...

第13章 动态规划

动态规划几乎是笔试和面试的必考题,可谓重中之重, 不少人可能对其望而生畏。本章我们通过一些题目,对动态规划的基本思想做一些总结,形成一些解动态规划题目的“套路”,从而让大家轻松应对这类题目。

第14章 杂题-那些你想不到的题

有些题目很难归类,但是又真实存在,它需要我们综合所学的知识点并灵活运用。所谓“戏法人人会变,各有巧妙不同”,大家学到的知识点都是类似的,但是要达到灵活运用、融会贯通,还需假以时日,勤学苦练。本章我们通过一些典型的例题,帮助大家梳理知识点,同时讨论一些有趣的的题目。...

第15章 必备软技能-防止思路上的盲点

程序员不仅仅是低头写码,还要与人沟通。虽然我们总说”show me the code“,但是代码并不是我们交流的唯一手段。更何况,我们在实现代码之前,通常需要简单和别人交流下思路,以防止思路上的盲点,另外我们还有很多的设计文档、代码注释需要完成,这些无疑需要我们有良好的沟通能力。面试中也一样,面试官也是人,他通...

第16章 总结与展望

面试体系总结展望,放眼未来。