华为技术总监面试题详解及答案.docxVIP

  • 0
  • 0
  • 约6.34千字
  • 约 18页
  • 2026-10-20 发布于福建
  • 举报

第PAGE页共NUMPAGES页

2026年华为技术总监面试题详解及答案

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

1.题目:

实现一个函数,输入一个正整数`n`,返回`n`的阶乘。要求使用递归和迭代两种方法分别实现,并比较两种方法的性能差异。

答案:

-递归方法:

python

deffactorial_recursive(n):

ifn==0:

return1

returnnfactorial_recursive(n-1)

-迭代方法:

python

deffactorial_iterative(n):

result=1

foriinrange(1,n+1):

result=i

returnresult

-性能比较:递归方法在`n`较大时会导致栈溢出,而迭代方法性能更稳定,适合大规模计算。

2.题目:

给定一个未排序的整数数组,实现一个函数,返回数组中的第`k`个最大元素。要求时间复杂度为`O(n)`。

答案:

使用快速选择算法:

python

deffind_kth_largest(nums,k):

defpartition(left,right,pivot_index):

pivot_value=nums[pivot_index]

nums[pivot_index],nums[right

文档评论(0)

1亿VIP精品文档

相关文档