爱彼科技软件开发工程师面试问题集.docxVIP

  • 1
  • 0
  • 约4.4千字
  • 约 13页
  • 2026-02-26 发布于福建
  • 举报

爱彼科技软件开发工程师面试问题集.docx

第PAGE页共NUMPAGES页

2026年爱彼科技软件开发工程师面试问题集

一、编程基础题(5题,每题10分,共50分)

1.数组旋转问题

题目:给定一个数组,将数组中的元素向右旋转k次。例如,输入[1,2,3,4,5,6,7]和k=3,输出[5,6,7,1,2,3,4]。

要求:不使用额外的数组空间,原地旋转数组。

答案:

python

defrotate(nums,k):

n=len(nums)

k=k%n

nums[:]=nums[-k:]+nums[:-k]

解析:首先计算k对数组长度的余数,以避免不必要的完整旋转。然后将数组分为两部分,最后拼接两部分即可实现旋转。时间复杂度为O(n),空间复杂度为O(1)。

2.字符串反转

题目:实现一个函数,将输入的字符串翻转。例如,输入hello,输出olleh。

要求:不使用内置的字符串反转函数。

答案:

python

defreverse_string(s):

returns[::-1]

解析:使用Python的切片功能可以高效实现字符串反转。时间复杂度为O(n),空间复杂度为O(n)。

3.链表反转

题目:实现一个函数,反转一个单链表。例如,输入1-2-3-4-5,输出5-4-3-2-1。

要求:原地反转链表。

答案:

python

classListNode:

def__i

文档评论(0)

1亿VIP精品文档

相关文档