2026年百度研发工程师面试题参考.docxVIP

  • 1
  • 0
  • 约4.76千字
  • 约 13页
  • 2026-10-18 发布于福建
  • 举报

第PAGE页共NUMPAGES页

2026年百度研发工程师面试题参考

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

1.题目:

编写一个函数,实现快速幂算法(`pow(x,n)`),要求在O(logn)时间复杂度内完成。支持n为负数的情况。

答案:

cpp

longlongquickPow(longlongx,longlongn){

longlongres=1;

x=n0?x:1/x;

while(n){

if(n1)res=x;

x=x;

n=1;

}

returnres;

}

解析:

快速幂算法通过二进制拆解n,将乘法次数从O(n)优化到O(logn)。当n为负数时,通过取倒数转换为正数计算。关键在于每次将n右移一位,同时平方x,并仅当n的当前位为1时乘入结果。

2.题目:

给定一个包含重复元素的数组,找出所有不重复的组合,且组合中的元素按升序排列。例如,输入`[1,2,2]`,输出`[[1],[1,2],[1,2,2],[2],[2,2]]`。

答案:

cpp

vectorvectorintcombineUnique(vectorintnums){

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

vectorvectorintres;

vect

文档评论(0)

1亿VIP精品文档

相关文档