🥽 暑期是实习高峰期,是冲刺校招奋力一搏的最后关头,也是备战社招 「金九银十」 的关键阶段。这个夏天,「力扣夏令营」 将根据暑期的不同阶段为你提供必备攻略和相关物料。本专栏适用于暑期实习、校招和社招。无论你是在校生、应届生还是打工人都可以放心食用 ~
点击标签栏里的 「力扣夏令营」 标签或点击头图,可以进入完整专栏
在上一期中,我们详细解读了算法高频考点,需要补课的同学可以点击 👉🏻 传送门:「力扣夏令营」第 4 弹:夯实基础,筑牢根基 2 | 算法高频考点
本期,学习君将带大家继续深入学习 算法中的 4 大专项内容:排序 & 动态规划 & 递归与分治 & 贪心。
排序算法是算法的入门知识,其经典思想可以用于很多算法当中。由于实现代码较短且应用广泛,因此,排序算法及其相关问题在面试中经常出现,尤其是快速排序和归并排序等基本排序算法。并且,经常有面试官要求现场手写出基本的排序算法。所以,要想在面试中开个好头,熟练掌握常见的排序算法思想 & 特点以及代码写法十分关键。

动态规划算法的核心思想是:将大问题划分为小问题进行解决,从而一步步获取最优解的处理算法。
动态规划算法与分治算法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。
与分治法不同的是,适合于用动态规划求解的问题,经分解得到子问题往往不是互相独立的 ( 即下一个子阶段的求解是建立在上一个子阶段的解的基础上,进行进一步的求解 )。

出现频率 82.93%动态规划 数组 分治10. 正则表达式匹配 出题频率:87.26%
这些企业考过:字节跳动 腾讯 Tencent
出现频率 81.12%分治 数组 动态规划贪心算法是对完成一件事情的方法的描述,贪心算法每一次都做出当前看起来最好的选择,而不用考虑其它可能的选择。
贪心算法的学习可以与动态规划算法进行比较,看看它到底比动态规划算法少考虑了哪些子问题,为什么可以少考虑那些子问题,而每次只专注于求解一个子问题,通过逐步递推得到原问题的答案。

45. 跳跃游戏 II 出题频率:81.37%
相关知识点:贪心 数组 动态规划
这些企业考过:字节跳动 华为 阿里巴巴 百度
517. 超级洗衣机 出题频率:63.20%
这些企业考过:字节跳动
除了掌握上述算法专项知识点之外,高效刷题也不可或缺喔!
为了助力各位早日斩获心仪 Offer,学习君整理了一系列精选题单,赶紧来练练手吧 ~
点击下方蓝色文字即可开始刷题!
点击下方公司名称即可进行投递
| 公司(投递地址) | 开启时间 | 网申截止时间 | 招聘岗位 |
|---|---|---|---|
| 阿里巴巴 | 8.18 | 研发类、算法类、芯片类、游戏类、运营类、设计类、产品类 | |
| 吉比特 & 雷霆游戏 | 8.17 | 研发技术类、美术设计类、游戏策划类、产品运营类、市场营销类、公共职能类 | |
| 华勤技术 | 8.17 | 软件类、算法类、测试类、IT 类、平台类等 | |
| 中兴通讯 | 8.16 | 研发类、营销类、供应链类、运营支撑类 | |
| 科大讯飞 | 8.15 | 测试工程师、AI 研究算法工程师、硬件开发工程师等 | |
| 博世中国 | 8.15 | 人工智能、软件开发 / IT 运维、产品研发、嵌入式开发、综合支持 |
不知不觉,学习君已陪伴大家月余,秋招也逐步迈进白热化阶段。相信各位扣友正全力以赴,以 100% 的努力应对每一场面试。至此关键时刻,学习君必须放大招了!
点击下方蓝色文字即可观看直播 ~
力扣线上公开课|LeetLive - Java 校招面试指南 将于 8 月 23 日 20:00 开课,聚焦 Java 校招面试常重点考点,分享校招面试准备经验,对 Java 岗位感兴趣的你千万不能错过!
最后,为了检测各位功力如何,学习君留了一个面试中经常出现的数据结构问题来考考大家~
🎫 Qustion:快速排序的原理是什么?
欢迎大家在评论区留下你的回答!正确答案将在下期公开~
聪明的你快来试试吧🤗!
上期问题答案:
「堆排序原理」
堆排序就是利用堆(假设利用大顶堆)进行排序的方法。它的基本思想是,将待排序的序列构造成一个大顶堆。此时,整个序列的最大值就是堆顶的根结点。将它移走(其实就是将其与堆数组的末尾元素交换,此时末尾元素就是最大值),然后将剩余的 n-1 个序列重新构造成一个堆,这样就会得到 n 个元素中的次小值。如此反复执行,便能得到一个有序序列了。