- 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)