华为技术面试题及解答.docxVIP

  • 0
  • 0
  • 约8.19千字
  • 约 24页
  • 2026-03-19 发布于福建
  • 举报

第PAGE页共NUMPAGES页

2026年华为技术面试题及解答

一、编程语言与数据结构(共5题,每题20分,总分100分)

1.题目:

请实现一个函数,输入一个非负整数`n`,返回`n`的二进制表示中`1`的个数。例如,输入`11`(二进制为`1011`),返回`3`。

答案:

cpp

intcountBits(intn){

intcount=0;

while(n){

count+=n1;

n=1;

}

returncount;

}

解析:

使用位运算`n1`判断最低位是否为`1`,然后右移一位继续统计。时间复杂度为O(logn),空间复杂度为O(1)。

2.题目:

给定一个排序数组,实现二分查找算法,要求返回目标值`target`的第一个出现位置。如果不存在,返回`-1`。

答案:

cpp

intbinarySearchFirst(constvectorintnums,inttarget){

intleft=0,right=nums.size()-1;

intresult=-1;

while(left=right){

intmid=left+(right-left)/2;

if(nums[mid]==target){

resu

文档评论(0)

1亿VIP精品文档

相关文档