加入收藏 | 设为首页 | 会员中心 | 我要投稿 常州站长网 (https://www.0519zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 外闻 > 正文

Python的算法和数据结构面试问题

发布时间:2021-05-01 14:10:16 所属栏目:外闻 来源:互联网
导读:麻烦,这里是我的编程工作面试中一些最常见的编码面试问题列表。我还为Java中的大多数问题共享了解决方案,但如果您是Python开发人员,则可以检查Python中的逻辑和实现。你也可以谷歌找到大多数问题的答案,因为它们很常见。 1.数组编码面试问题 数组是最基

麻烦,这里是我的编程工作面试中一些最常见的编码面试问题列表。我还为Java中的大多数问题共享了解决方案,但如果您是Python开发人员,则可以检查Python中的逻辑和实现。你也可以谷歌找到大多数问题的答案,因为它们很常见。

1.数组编码面试问题

数组是最基本的数据结构,它将元素存储在连续的内存位置。这也是采访者的一个主要话题,你会在任何编码访谈中听到很多关于数组的问题,例如反转数组,排序数组或搜索数组中的元素。

数组数据结构的主要优点是,如果您知道索引,它会提供快速的O(1)搜索,但是从数组中添加和删除元素的速度很慢,因为一旦创建了数组,就无法更改数组的大小。

要创建更短或更长的数组,您需要创建一个新数组并将所有元素从旧复制到新。

解决基于数组的问题的关键是熟悉 数组数据结构以及基本编程结构,如循环,递归和基本运算符。

以下是一些流行的基于数组的编码面试问题供您练习:

  1. 如何在给定的1到100的整数数组中找到缺失的数字?(解决方案)
  2. 如何在给定的整数数组上找到重复的数字?(解决方案)
  3. 如何在未排序的整数数组中找到***和最小的数字?(解决方案)
  4. 你如何找到所有对的整数数组,其总和等于给定的数字?(解决方案)
  5. 如果数组包含多个重复项,如何在数组中找到重复的数字?(解决方案)
  6. 如何从Java中的给定数组中删除重复项?(解决方案)
  7. 如何使用quicksort算法对整数数组进行排序?(解决方案)
  8. 如何从阵列中删除重复项?(解决方案)
  9. 你如何在Java中反转数组?(解决方案)
  10. 如何在不使用任何库的情况下从数组中删除重复项?(解决方案)

这些问题不仅可以帮助您提高解决问题的能力,还可以提高您对阵列数据结构的了解。

如果您需要基于阵列的更高级的问题,那么您还可以看到编码面试训练营:算法+数据结构,算法的训练营风格课程,专门用于面试准备,以获得谷歌,微软,苹果等科技巨头的工作,Facebook等。

而且,如果您觉得10个问题还不够,而且您需要更多练习,那么您还可以查看30个阵列问题列表。

2.链接列表编程面试问题

甲链表是另一个常见的数据结构,它补充了阵列。与数组类似,它也是线性数据结构,并以线性方式存储元素。

但是,与数组不同,它不会将它们存储在连续的位置; 相反,它们分散在内存中,并使用节点相互连接。

链表是节点列表,其中每个节点包含存储的值和下一个节点的地址。

由于这种结构,在链表中添加和删除元素很容易,因为您只需要更改链接而不是创建数组,但搜索很困难,并且通常需要花费O(n)时间来查找元素。单链表。

此文章提供了在阵列和链表数据结构之间的区别的详细信息。

它还有各种类似链表,可以让你在一个方向上移动(向前或向后); 双向链表,允许您双向移动(向前和向后); ***,圆形链表,形成一个圆圈。

为了解决基于链表的问题,良好的递归知识很重要,因为链表是递归数据结构。

如果从链接列表中获取一个节点,则剩余的数据结构仍然是链接列表,因此,许多链接列表问题具有比迭代解决方案更简单的递归解决方案。

以下是一些最常见和***的链接列表面试问题及其解决方案:

  1. 如何在一次通过中找到单链表的中间元素?(解决方案)
  2. 如何检查给定链表是否包含循环?你如何找到循环的起始节点?(解决方案)
  3. 你如何扭转链表?(解决方案)
  4. 如何在没有递归的情况下反转单链表?(解决方案)
  5. 如何在未排序的链表中删除重复节点?(解决方案)
  6. 你如何找到单链表的长度?(解决方案)
  7. 如何在单链表中找到***的第三个节点?(解决方案)
  8. 如何使用Stack找到两个链表的总和?(解决方案)

这些问题将帮助您提高解决问题的能力,并提高您对链表数据结构的了解。

如果您在解决这些链表编码问题时遇到问题,那么我建议您通过数据结构和算法:深入使用Java课程来刷新您的数据结构和算法技能。

您还可以查看30个链接列表面试问题列表, 了解更多练习题。

(编辑:常州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读