2026年华为技术面试攻略与答案详解.docxVIP

  • 0
  • 0
  • 约5.75千字
  • 约 17页
  • 2026-03-25 发布于福建
  • 举报

第PAGE页共NUMPAGES页

2026年华为技术面试攻略与答案详解

一、编程基础(5题,每题2分,共10分)

1.题目:

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

答案:

c

intcountOnes(intn){

intcount=0;

while(n){

count+=n1;

n=1;

}

returncount;

}

解析:

使用位运算,每次判断最低位是否为`1`,然后右移一位,直到`n`为`0`。时间复杂度为`O(logn)`。

2.题目:

请实现快速排序算法。

答案:

c

voidquickSort(intarr[],intleft,intright){

if(left=right)return;

intpivot=arr[left],l=left,r=right;

while(lr){

while(lrarr[r]=pivot)r--;

arr[l]=arr[r];

while(lrarr[l]=pivot)l++;

arr[r]=arr[l];

}

arr[l]=pivot;

quick

文档评论(0)

1亿VIP精品文档

相关文档