腾讯公司技术专家面试要点与答案.docxVIP

  • 0
  • 0
  • 约6.14千字
  • 约 18页
  • 2026-11-06 发布于福建
  • 举报

第PAGE页共NUMPAGES页

2026年腾讯公司技术专家面试要点与答案

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

题目1(算法设计):

设计一个高效的算法,找出给定无序数组中第三大的数。要求时间复杂度为O(n),空间复杂度为O(1)。假设数组中至少有三个不同的数。

答案与解析:

cpp

intthirdMax(vectorintnums){

longa=LONG_MIN,b=LONG_MIN,c=LONG_MIN;

for(intnum:nums){

if(num==a||num==b||num==c)continue;

if(numa){c=b;b=a;a=num;}

elseif(numb){c=b;b=num;}

elseif(numc)c=num;

}

returnc==LONG_MIN?a:c;

}

解析:

1.初始化三个变量`a`,`b`,`c`为`LONG_MIN`,用于存储最大、次大、第三大的数。

2.遍历数组,跳过等于`a`,`b`,`c`的数,避免重复统计。

3.使用条件判断更新三个变量的值:

-若当前数大于`a`,则将`a`赋值给`b`,`b`赋值给`c`,`a`更新为

文档评论(0)

1亿VIP精品文档

相关文档