2026年互联网公司软件工程师面试题集.docxVIP

  • 2
  • 0
  • 约8.54千字
  • 约 24页
  • 2026-05-16 发布于福建
  • 举报

2026年互联网公司软件工程师面试题集.docx

第PAGE页共NUMPAGES页

2026年互联网公司软件工程师面试题集

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

题目1(10分)

题目:

请用C++实现一个函数,判断一个整数是否为完全平方数。要求时间复杂度为O(1)。

答案:

cpp

boolisPerfectSquare(intnum){

if(num0)returnfalse;

longlongleft=0,right=num;

while(left=right){

longlongmid=left+(right-left)/2;

longlongsquare=midmid;

if(square==num)returntrue;

if(squarenum)left=mid+1;

elseright=mid-1;

}

returnfalse;

}

解析:

使用二分查找法可以在O(logn)时间内判断一个数是否为完全平方数。但题目要求O(1)时间复杂度,实际上无法达到,因为判断平方根是否为整数需要至少O(logn)的时间。正确答案应为O(logn)的二分查找实现。

题目2(10分)

题目:

请用Python实现一个函数,找出列表中所有重复的元素,并返回它们的数量。例如:输入[1,2,2,3,4

文档评论(0)

1亿VIP精品文档

相关文档