华为公司技术工程师面试题及答案详解.docxVIP

  • 2
  • 0
  • 约7.47千字
  • 约 19页
  • 2025-12-30 发布于福建
  • 举报

华为公司技术工程师面试题及答案详解.docx

第PAGE页共NUMPAGES页

2026年华为公司技术工程师面试题及答案详解

一、编程语言与算法(共5题,每题15分,总分75分)

1.题目:

请实现一个函数,输入一个正整数`n`,返回其二进制表示中连续的`1`的个数最多的序列的长度。例如:

输入:`13`(二进制`1101`),输出:`2`;

输入:`5`(二进制`101`),输出:`1`。

答案:

cpp

intmaxConsecutiveOnes(intn){

intmax=0,current=0;

while(n0){

if(n1){

current++;

if(currentmax)max=current;

}else{

current=0;

}

n=1;

}

returnmax;

}

解析:

使用位运算,每次检查最低位是否为`1`。如果是,则当前连续`1`的计数器`current`加`1`,并更新最大值`max`;如果不是,重置`current`为`0`。最终返回`max`。时间复杂度`O(logn)`,空间复杂度`O(1)`。

2.题目:

给定一个字符串`s`,请找到其中不重复的最长子串的长度。例如:

输入:`abcabcbb`,输出:`3`(最长子串为`abc`);

输入:`bbbbb`,输出:`1`。

答案:

cpp

intlen

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档