- 2
- 0
- 约8.54千字
- 约 24页
- 2026-05-16 发布于福建
- 举报
第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)