微软技术专家面试常见问题解答.docxVIP

  • 2
  • 0
  • 约8.05千字
  • 约 20页
  • 2026-03-06 发布于福建
  • 举报

第PAGE页共NUMPAGES页

2026年微软技术专家面试常见问题解答

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

1.题目:请实现一个函数,输入一个正整数n,返回其对应的二进制表示中1的个数。例如,输入5,返回2(因为5的二进制表示为101,有2个1)。

答案:

cpp

intcountOnes(intn){

intcount=0;

while(n!=0){

count+=n1;

n=1;

}

returncount;

}

解析:通过位运算,每次将n右移一位,并检查最低位是否为1,统计1的个数。这是一种高效的方法,时间复杂度为O(logn)。

2.题目:请实现一个函数,输入一个字符串s,返回其最长回文子串的长度。例如,输入babad,返回3(bab或aba)。

答案:

cpp

intlongestPalindrome(strings){

if(s.empty())return0;

intstart=0,end=0;

for(inti=0;is.length();++i){

intlen1=expandAroundCenter(s,i,i);

intlen2=expandAroundCenter(s,i,i+1);

intlen=max(len1,le

文档评论(0)

1亿VIP精品文档

相关文档