2026年华为研发部面试题集及答案解析.docxVIP

  • 0
  • 0
  • 约6.24千字
  • 约 17页
  • 2026-11-09 发布于福建
  • 举报

2026年华为研发部面试题集及答案解析.docx

第PAGE页共NUMPAGES页

2026年华为研发部面试题集及答案解析

一、编程能力测试(共5题,每题20分)

1.题目(20分):

请实现一个函数,输入一个正整数n,返回其二进制表示中1的个数。要求不使用内置函数,时间复杂度不超过O(1)。

答案解析:

cpp

intcountOnes(intn){

intcount=0;

while(n){

count+=n1;

n=1;

}

returncount;

}

解析:通过位运算判断每一位是否为1,右移并统计。时间复杂度为O(logn),可优化至O(1)通过BrianKernighan算法。

2.题目(20分):

给定一个无重复元素的数组nums和一个目标值target,返回所有相加和为target的四个数的组合。要求时间复杂度不超过O(n2)。

答案解析:

cpp

vectorvectorintfourSum(vectorintnums,inttarget){

vectorvectorintres;

sort(nums.begin(),nums.end());

for(inti=0;inums.size()-3;i++){

if(i0nums[i]==nums[i-1])continue;

for(intj=i+1

文档评论(0)

1亿VIP精品文档

相关文档