拼多技术大咖面试题目.docxVIP

  • 1
  • 0
  • 约5.52千字
  • 约 18页
  • 2026-03-22 发布于福建
  • 举报

第PAGE页共NUMPAGES页

2026年拼多技术大咖面试题目

一、编程能力测试(5题,每题20分,共100分)

1.题目(20分):

请实现一个函数,输入一个正整数`n`,返回`n`的“自数”表示。自数是指将数字的每一位进行平方,然后相加得到的新数字。例如:

-输入:5→输出:25(52=25)

-输入:89→输出:145(82+92=64+81=145)

要求:

-不能使用递归

-时间复杂度优于O(n)

答案与解析:

python

defself_number(n):

ifn10:

returnnn

sum=0

temp=n

whiletemp0:

digit=temp%10

sum+=digitdigit

temp//=10

returnsum+self_number(sum)#递归调用,但题目要求非递归,可优化为迭代

优化版(迭代实现):

python

defself_number(n):

ifn10:

returnnn

result=n

whilen0:

digit=n%10

result+=digitdigit

n//=10

returnresult

解析:

-直接迭代每一位数字并平方求和,避免递归带来的栈溢出

文档评论(0)

1亿VIP精品文档

相关文档