赞
踩
开篇先引入一位面试官的对于面试者的要求:
作为面试官,我比较看中候选人的行业背景、专业技能还有一些软素质。具体来说:
作为面试官,在面试过程我会用笔试题的形式考察候选人的思维逻辑能力,通常考察的具体知识点包括链表、树、排序、二分查找等,需要候选人能够分析出不同算法的时间复杂度和空间复杂度。题目我会选择 LeetCode 上简单到中等难度的题目,常考的有:
通过算法面试题的考察,我希望候选人不光可以展示编程能力,还可以通过详细了解题目,展示自己的沟通能力和推演能力(如何构建题目的思路)。最关键的编程能力,候选人可以展示自己对于问题边界的思考,比较不同方法的性能和效率,给出解决问题的多种方法。
我的精选算法面试题是:搜索二维矩阵
编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性:
每行中的整数从左到右按升序排列。
每行的第一个整数大于前一行的最后一个整数。
示例 1:
- 输入:
- matrix = [
- [1, 3, 5, 7],
- [10, 11, 16, 20],
- [23, 30, 34, 50]
- ]
- target = 3
- 输出: true
示例 2:
- 输入:
- matrix = [
- [1, 3, 5, 7],
- [10, 11, 16, 20],
- [23, 30, 34, 50]
- ]
- target = 13
- 输出: false
2020年,面试过大厂的朋友会发现,所有的大厂都在问算法,根据目前掌握的信息来推测,算法将会是一大风口,掌握算法的人能够轻易碾压不会算法的人拿到offer!
算法未来不仅仅是大厂面试必回,中小厂面试也必定会问算法,这是一种趋势!
为了帮助大家提高自己的算法能力,为大家搜罗整理到了几份非常nice的算法笔记,限于平台原因,只能展示部分截图,有需要的小伙伴 点击这里凭截图即可获取!
这份笔记内容全部都是纯手打,排序算法/数据结构的代码可能不是最优解,代码的实现都是以比较容易理解的方式去写的。几乎每句代码都有对应的注释,应该是能看懂的。
目录概览
一、冒泡排序
二、选择排序
四、快速排序
五、归并排序
六、希尔排序
七、堆排序
八、基数排序(桶排序)
九、递归
十、链表
十一、栈
十二、队列
十三、二叉树
——【不脱发有志青年】——公众号免费货区
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。