2026年中国南方航空软件开发工程师面试题.docxVIP

  • 0
  • 0
  • 约7.26千字
  • 约 20页
  • 2026-01-19 发布于福建
  • 举报

2026年中国南方航空软件开发工程师面试题.docx

第PAGE页共NUMPAGES页

2026年中国南方航空软件开发工程师面试题

一、编程语言与数据结构(5题,每题10分,共50分)

1.题目:

编写一个函数,实现快速排序算法,并分析其时间复杂度和空间复杂度。假设输入为一个包含重复元素的整数数组,要求输出排序后的数组。

答案与解析:

答案:

python

defquick_sort(arr):

iflen(arr)=1:

returnarr

pivot=arr[len(arr)//2]

left=[xforxinarrifxpivot]

middle=[xforxinarrifx==pivot]

right=[xforxinarrifxpivot]

returnquick_sort(left)+middle+quick_sort(right)

示例输入

arr=[3,6,8,10,1,2,1]

print(quick_sort(arr))

解析:

快速排序是一种分治算法,通过选择一个基准值(pivot),将数组分为三部分:小于基准值的、等于基准值的、大于基准值的。然后递归地对小于和大于基准值的部分进行排序。

-时间复杂度:

-最好情况:O(nlogn),每次分区都能均匀分割数组。

-平均情况:O(nlogn),分区基本均匀。

-最坏情况:O(n2),每次分区只能减少一个元素(如已排序数组选择最左或最右为基准)。

-空间复杂度:O(logn),递归调用栈的深度。

2.题目:

给定一个无重复元素的整数数组,编写一个函数,返回所有可能的子集(包括空集)。要求不使用递归,使用迭代方法实现。

答案与解析:

答案:

python

defsubsets(nums):

res=[[]]

fornuminnums:

res+=[curr+[num]forcurrinres]

returnres

示例输入

nums=[1,2,3]

print(subsets(nums))

解析:

迭代方法通过逐个添加元素,扩展现有子集。初始时只有空集,每次添加一个新元素时,将其与所有现有子集组合,形成新的子集。

-时间复杂度:O(2^n),共有2^n个子集。

-空间复杂度:O(2^n),存储所有子集。

3.题目:

定义一个单链表节点类,并实现一个函数,判断链表是否存在环。要求不使用额外空间,使用快慢指针方法实现。

答案与解析:

答案:

python

classListNode:

def__init__(self,val=0,next=None):

self.val=val

self.next=next

defhasCycle(head):

slow=head

fast=head

whilefastandfast.next:

slow=slow.next

fast=fast.next.next

ifslow==fast:

returnTrue

returnFalse

示例输入

head=ListNode(3)

head.next=ListNode(2)

head.next.next=ListNode(0)

head.next.next.next=head#创建环

print(hasCycle(head))

解析:

快慢指针法:慢指针每次移动一步,快指针每次移动两步。如果链表有环,快指针最终会追上慢指针;否则快指针会到达链表末尾。

-时间复杂度:O(n),最多遍历n次。

-空间复杂度:O(1),不使用额外空间。

4.题目:

编写一个函数,实现字符串的KMP(Knuth-Morris-Pratt)算法,用于查找子串在主串中的位置。要求不使用库函数,手动实现。

答案与解析:

答案:

python

defkmp_search(text,pattern):

defcompute_lps(pattern):

lps=[0]len(pattern)

length=0

i=1

whileilen(pattern):

ifpattern[i]==pattern[length]:

length+=1

lps[i]=length

i+=1

else:

iflength!=0:

length=lps[length-1]

else:

lps[i]=0

i+=1

returnlps

lps=compute_lps(pattern)

i=j=0

whileilen(text):

ifpa

文档评论(0)

1亿VIP精品文档

相关文档