软件工程师面试常见问题及答案参考.docxVIP

  • 5
  • 0
  • 约7.17千字
  • 约 21页
  • 2026-04-01 发布于福建
  • 举报

软件工程师面试常见问题及答案参考.docx

第PAGE页共NUMPAGES页

2026年软件工程师面试常见问题及答案参考

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

题目1(10分)

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

答案:

python

defcount_bits(n):

count=0

whilen:

count+=n1

n=1

returncount

解析:

1.使用位运算符``和``实现高效计数

2.每次右移一位,检查最低位是否为1

3.时间复杂度为O(logn),空间复杂度为O(1)

4.也可以使用内置函数`bin(n).count(1)`但效率较低

题目2(10分)

问题描述:给定一个排序数组,编写一个函数,在原地删除重复的元素,使每个元素只出现一次,并返回新的数组长度。不要使用额外空间。

答案:

python

defremove_duplicates(nums):

ifnotnums:

return0

i=0

forjinrange(1,len(nums)):

ifnums[i]!=nums[j]:

i+=1

nums[i]=nums[j]

returni+1

解析:

1.使用双指针技术,一个慢指针i,一个快指针j

文档评论(0)

1亿VIP精品文档

相关文档