2026年互联网行业软件工程师面试问题集.docxVIP

  • 0
  • 0
  • 约9.78千字
  • 约 25页
  • 2026-10-29 发布于福建
  • 举报

2026年互联网行业软件工程师面试问题集.docx

第PAGE页共NUMPAGES页

2026年互联网行业软件工程师面试问题集

一、编程基础与数据结构(共5题,总分25分)

题目1(5分)

请实现一个函数,输入一个非负整数n,返回它的二进制表示中1的个数。例如,输入5(二进制为101),返回2。

答案与解析:

python

defcount_bits(n):

count=0

whilen:

n=(n-1)

count+=1

returncount

解析:该算法利用了BrianKernighan算法,每次操作会将n最右边的1变为0,直到n变为0。时间复杂度为O(位数),对于32位整数最多32次操作。

题目2(5分)

给定一个包含n个整数的数组,设计一个算法找出其中多数元素(出现次数超过n/2),要求时间复杂度为O(n)空间复杂度为O(1)。

答案与解析:

python

defmajority_element(nums):

count=0

candidate=None

fornuminnums:

ifcount==0:

candidate=num

count+=(1ifnum==candidateelse-1)

returncandidate

解析:Boyer-Moore投票算法。初始化计数器为0,遍历数组时,如果计数器为0则将当前元素设为候选,否则根据当

文档评论(0)

1亿VIP精品文档

相关文档