工程师面试题及专业问题解答.docxVIP

  • 2
  • 0
  • 约5.5千字
  • 约 16页
  • 2026-01-30 发布于福建
  • 举报

第PAGE页共NUMPAGES页

2026年工程师面试题及专业问题解答

一、编程与算法(5题,每题10分,共50分)

1.题目:

请用Python实现一个函数,输入一个正整数`n`,返回其阶乘的值。要求:不能使用递归或内置的`math.factorial`函数。

答案与解析:

python

deffactorial(n):

result=1

foriinrange(1,n+1):

result=i

returnresult

解析:

-迭代法通过循环计算阶乘,避免递归的栈溢出风险。

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

2.题目:

给定一个无重复元素的数组`nums`和一个目标值`target`,请编写函数返回`target`在数组中的索引(如果不存在则返回-1)。要求:时间复杂度不超过O(logn)。

答案与解析:

python

defsearch(nums,target):

left,right=0,len(nums)-1

whileleft=right:

mid=(left+right)//2

ifnums[mid]==target:

returnmid

elifnums[mid]target:

left=mid+1

else:

right=mid-1

re

文档评论(0)

1亿VIP精品文档

相关文档