- 0
- 0
- 约5.18千字
- 约 17页
- 2026-11-04 发布于福建
- 举报
第PAGE页共NUMPAGES页
2026年腾讯技术面试常见问题及答案
一、编程基础与算法(共5题,每题10分)
1.题目:
实现一个函数,输入一个整数数组,返回其中出现次数超过一半的元素。假设数组非空,且一定存在这样的元素。
答案:
cpp
intmajorityElement(vectorintnums){
intcount=0;
intcandidate=0;
for(intnum:nums){
if(count==0){
candidate=num;
}
count+=(num==candidate)?1:-1;
}
returncandidate;
}
解析:
采用“多数投票算法”,初始时假设第一个数为候选数,遍历时若与候选数相同则计数加一,否则减一。当计数为零时,更新候选数为当前数。由于多数元素出现次数超过一半,最终候选数即为所求。
2.题目:
给定一个字符串,判断其是否是回文串(忽略非字母数字字符,不区分大小写)。
答案:
cpp
boolisPalindrome(strings){
intleft=0,right=s.size()-1;
while(leftright){
while(leftright!isalnum(s[left]))left++
原创力文档

文档评论(0)