- 0
- 0
- 约4.87千字
- 约 17页
- 2026-03-17 发布于福建
- 举报
第PAGE页共NUMPAGES页
2026年腾讯公司系统工程师面试题集及解答
一、编程题(共3题,每题15分)
1.题目(15分):
实现一个函数,输入一个非负整数n,返回其对应的二进制表示中1的个数。例如,输入`n=5`(二进制`101`),返回`2`;输入`n=0`,返回`0`。要求时间复杂度为O(1)。
答案与解析:
答案:
cpp
intcountBits(intn){
intcount=0;
while(n){
count+=n1;
n=1;
}
returncount;
}
或者更高效的位运算技巧:
cpp
intcountBits(intn){
intcount=0;
while(n){
count++;
n=(n-1);
}
returncount;
}
解析:
-方法一:位遍历
通过不断右移并检查最低位是否为1,统计1的个数。时间复杂度为O(logn),不满足O(1)要求。
-方法二:BrianKernighan算法
利用`n=(n-1)`能消除最低位的1的性质,每次操作去掉一个1,直到n为0。时间复杂度为O(k),k为1的个数,平均为O(1)。
2.题目(15分):
设计一个LRU(LeastRecentlyUsed)缓存,支持get和put操作。缓存容量为固定值cap
您可能关注的文档
最近下载
- 格兰富LS中开泵安装维护手册(1).pdf VIP
- 2006年重庆市高考数学试卷(文科)【附答案、word版本,可再编辑;B4纸型两栏】.docx VIP
- 工业设计机械产品课设计指导书.doc VIP
- 2025重庆园林工程师中高级园林工程技术考试试题(凭记忆复原) .pdf VIP
- 塑钢门窗维修施工方案.docx VIP
- 2026年广播电视编辑记者新闻采编测试卷及答案.docx VIP
- 一 成都市内主要动与植物及分布情况.doc VIP
- 第11课班级故事(课件)心理健康华中师大版一年级全一册.pptx
- 四川文理学院高等教育本科学士学位英语考试历年真题.pdf VIP
- 2026 年记者采编(新闻写作)试题及答案.docx VIP
原创力文档

文档评论(0)