2026年软件工程师面试编程能力题库.docxVIP

  • 1
  • 0
  • 约7.97千字
  • 约 26页
  • 2026-09-17 发布于福建
  • 举报

第PAGE页共NUMPAGES页

2026年软件工程师面试编程能力题库

一、算法与数据结构(共5题,每题10分)

1.(10分)

题目:

给定一个未排序的整数数组,返回其中缺失的最小正整数。

示例:

输入:`[3,4,-1,1]`

输出:`2`

要求:

-时间复杂度O(n)

-空间复杂度O(1)

答案与解析:

答案:

python

deffirst_missing_positive(nums):

n=len(nums)

foriinrange(n):

while1=nums[i]=nandnums[nums[i]-1]!=nums[i]:

nums[nums[i]-1],nums[i]=nums[i],nums[nums[i]-1]

foriinrange(n):

ifnums[i]!=i+1:

returni+1

returnn+1

解析:

1.原地哈希法:通过交换元素将每个正整数放到其索引对应的位置上(例如,数字1应放在索引0处)。

2.遍历检查:如果发现某个索引处的数字不等于索引+1,则该索引+1即为缺失的最小正整数。

3.边界处理:如果所有数字都正确放置,则缺失的最小正整数为n+1。

时间复杂度:O(n),空间复杂度:O(1)。

2.(10分)

题目:

实现

文档评论(0)

1亿VIP精品文档

相关文档