2026年华为技术公司招聘面试题及答案详解.docxVIP

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

2026年华为技术公司招聘面试题及答案详解.docx

第PAGE页共NUMPAGES页

2026年华为技术公司招聘面试题及答案详解

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

1.编程题:

题目:

实现一个函数,输入一个正整数n,返回其二进制表示中1的个数。例如,输入7(二进制为111),返回3。

要求:

-使用位运算实现,时间复杂度要求O(1)。

-语言不限,但需说明选择的语言及理由。

答案:

python

defcount_bits(n):

count=0

whilen:

n=(n-1)

count+=1

returncount

解析:

-位运算`n=(n-1)`可以消去二进制表示中最低位的1,因此通过循环可以统计1的个数。

-时间复杂度:最坏情况下n的二进制表示中1的个数为32(Python整数无上限,但实际测试时假设32位),因此时间复杂度为O(1)。

-选择Python的理由:代码简洁,位运算易于理解,且Python对大整数支持良好。

2.编程题:

题目:

实现一个LRU(LeastRecentlyUsed)缓存,支持get和put操作。缓存容量为固定值,超出容量时需要淘汰最久未使用的元素。

要求:

-使用链表和哈希表实现,时间复杂度要求O(1)。

-语言不限,但需说明选择的语言及理由。

答案:

python

classLRUCache:

def_

文档评论(0)

1亿VIP精品文档

相关文档