首页 >面试题目 > 内容

字节Leetcode刷题笔记,看完吊打问你算法的面试官

2023年1月22日 12:33

介绍

leetcode 题解,记录自己的 leetcode 解题之路。

目前分为五个部分:

  • 第一个部分是 leetcode 经典题目的解析,包括思路,关键点和具体的代码实现。

  • 第二部分是对于数据结构与算法的总结

  • 第三部分是 anki 卡片, 将 leetcode 题目按照一定的方式记录在 anki 中,方便大家记忆。

  • 第四部分是每日一题,每日一题是在交流群(包括微信和 qq)里进行的一种活动,大家一起 解一道题,这样讨论问题更加集中,会得到更多的反馈。而且 这些题目可以被记录下来,日后会进行筛选添加到仓库的题解模块。

  • 第五部分是计划, 这里会记录将来要加入到以上三个部分内容

只有熟练掌握基础的数据结构与算法,才能对复杂问题迎刃有余。

食用指南

  • 对于最近添加的部分, 后面会有 标注

  • 对于最近更新的部分, 后面会有 标注

  • 这里有一张互联网公司面试中经常考察的问题类型总结的思维导图,我们可以结合图片中的信息分析一下。

​其中算法,主要是以下几种:

  • 基础技巧:分治、二分、贪心

  • 排序算法:快速排序、归并排序、计数排序

  • 搜索算法:回溯、递归、深度优先遍历,广度优先遍历,二叉搜索树等

  • 图论:最短路径、最小生成树

  • 动态规划:背包问题、最长子序列

数据结构,主要有如下几种:

  • 数组与链表:单 / 双向链表

  • 栈与队列

  • 哈希表

  • 堆:最大堆 / 最小堆

  • 树与图:最近公共祖先、并查集

  • 字符串:前缀树(字典树) / 后缀树

leetcode 经典题目的解析文档

附面试思维导图

简单难度题目合集

这里的题目难度比较小, 大多是模拟题,或者是很容易看出解法的题目,另外简单题目一般使用暴力法都是可以解决的。 这个时候只有看一下数据范围,思考下你的算法复杂度就行了。

当然也不排除很多 hard 题目也可以暴力模拟,大家平时多注意数据范围即可。

以下是我列举的经典题目:

​中等难度题目合集

中等题目是力扣比例最大的部分,因此这部分我的题解也是最多的。 大家不要太过追求难题,先把中等难度题目做熟了再说。

这部分的题目要不需要我们挖掘题目的内含信息, 将其抽象成简单题目。 要么是一些写起来比较麻烦的题目, 一些人编码能力不行就挂了。因此大家一定要自己做, 即使看了题解”会了“,也要自己码一遍。自己不亲自写一遍,里面的细节永远不知道。

以下是我列举的经典题目:

困难难度题目合集

困难难度题目从类型上说多是:

  • 设计题

  • 游戏场景题目

  • 中等题目的 follow up

从解法上来说,多是:

  • 图算法

  • 动态规划

  • 二分法

  • DFS & BFS

  • 状态压缩

  • 剪枝

从逻辑上说, 要么就是非常难想到,要么就是非常难写代码。 这里我总结了几个技巧:

  1. 看题目的数据范围, 看能否暴力模拟

  2. 暴力枚举所有可能的算法往上套,比如图的题目。

  3. 总结和记忆解题模板,减少解题压力

以下是我列举的经典题目:

数据结构与算法的总结

总结

无论校招还是社招,技术面试中多多少少都会问到数据结构与算法相关的问题。例如最直接的一种,面试官上来就让手写一个快排的代码,或者给一段代码,要求分析时间复杂度和空间复杂度。

其次,日常繁杂的业务工作往往容易让人忽略程序实现细节和原理。就 Java 来说,无论是其自身的基础 API,还是第三方提供的开源框架,都糅合很多优秀的数据结构和算法的设计思想。

​ 最后,如果不重视程序的性能好坏,日复一日业务开发显然无法持续提升个人的编程和设计能力。而提升代码质量的第一步,就是建立起时间复杂度、空间复杂度的意识。

​ 综上,扎实的数据结构与算法基础,能大大提升面试通过率,大大提升对语言、框架和工具的理解层次,大大提升编程和设计能力。


参考文章:https://blog.csdn.net/Park33/article/details/126421427

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时候联系我们修改或删除,在此表示感谢。

特别提醒:

1、请用户自行保存原始数据,为确保安全网站使用完即被永久销毁,如何人将无法再次获取。

2、如果上次文件较大或者涉及到复杂运算的数据,可能需要一定的时间,请耐心等待一会。

3、请按照用户协议文明上网,如果发现用户存在恶意行为,包括但不限于发布不合适言论妄图

     获取用户隐私信息等行为,网站将根据掌握的情况对用户进行限制部分行为、永久封号等处罚。

4、如果文件下载失败可能是弹出窗口被浏览器拦截,点击允许弹出即可,一般在网址栏位置设置

5、欢迎将网站推荐给其他人,网站持续更新更多功能敬请期待,收藏网站高效办公不迷路。

      



登录后回复

共有0条评论