本篇文章的面试资源,主要包含五部分内容:数组、链表、字符串、二叉树和重要算法(如排序算法)的编程面试题,其中每部分内容,都列出了一些最常被问到的热门问题。并且在每个题目后,给出了可以参考的解决思路和代码。因为题目较多,我们没有罗列所有的方法和代码,只给出了访问地址。相信大家在掌握了这些内容后,一定可以提升实力、信心大增。
作者
javinpaul
出品
AI科技大本营
数组
数组,将元素存储到内存的连续位置中,是最基本的数据结构。在任何和编程相关的面试中,都会被问到和数组相关的问题,可以说是非常热门的考题之一。比如:将数组反转、对数组进行排序、搜索数组中的元素等。
数组数据结构的主要优点是如果知道索引就可以通过O(l)进行快速搜索,但是在数组中添加和删除元素的速度会很慢,因为数组一旦被创建,就无法更改其大小。如果需要创建更长或更短的数组,得先创建一个新数组,再把原数组中的所有元素复制到新创建的数组中。
解决数组相关问题的关键是要熟悉数组的数据结构和基本的构造,如循环、递归等等;下面给出了10道热门面试题帮助大家掌握知识并进行练习。
1.给定一个1-的整数数组,请找到其中缺少的数字。
解决方法与代码: