2026年携程技术经理面试答案全公开.docxVIP

  • 0
  • 0
  • 约5.28千字
  • 约 17页
  • 2026-03-03 发布于福建
  • 举报

第PAGE页共NUMPAGES页

2026年携程技术经理面试答案全公开

一、编程基础(5题,每题6分,共30分)

1.题目:

请用Python实现一个函数,输入一个正整数n,返回其所有可能的二进制表示中1的个数之和。例如,输入3,输出4(二进制为001、010、011、100)。

答案:

python

defcount_ones_sum(n):

ifn==0:

return0

returnbin(n).count(1)+count_ones_sum(n1)

解析:

通过递归将数字右移,每次统计当前位是否为1,总和即为所有子数字的1的个数之和。

2.题目:

请用Java实现快速排序算法,并说明其时间复杂度和空间复杂度。

答案:

java

publicclassQuickSort{

publicstaticvoidquickSort(int[]arr,intleft,intright){

if(left=right)return;

intpivot=partition(arr,left,right);

quickSort(arr,left,pivot-1);

quickSort(arr,pivot+1,right);

}

privatestaticintpartition(int[]

文档评论(0)

1亿VIP精品文档

相关文档