华为技术专家面试问题及答案.docxVIP

  • 0
  • 0
  • 约6.98千字
  • 约 21页
  • 2026-02-10 发布于福建
  • 举报

第PAGE页共NUMPAGES页

2026年华为技术专家面试问题及答案

一、编程与算法(共5题,每题8分,总分40分)

1.题目:

实现一个函数,输入一个正整数n,返回其二进制表示中1的个数。例如,输入5,返回2(因为5的二进制是101)。

答案:

c

intcountBits(intn){

intcount=0;

while(n!=0){

count+=n1;

n=1;

}

returncount;

}

解析:

通过位运算,每次右移一位并检查最低位是否为1,统计1的个数。时间复杂度为O(logn),空间复杂度为O(1)。

2.题目:

给定一个无重复元素的数组nums,返回所有可能的子集。例如,输入[1,2,3],返回[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]。

答案:

python

defsubsets(nums):

result=[]

subset=[]

defbacktrack(index):

result.append(subset.copy())

foriinrange(index,len(nums)):

subset.append(nums[i])

backtrack(i+1)

subset.pop()

backtrack(0)

returnresu

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档