前面有些人已经有好解答,不过感觉code很长,
因为从这个版上学到很多,回馈一下python的code
a=[-4,-1,0,3,10]
length_a=len(a)
mid=((length_a-1)/2) #找到0在list中的位置
b=[None]*length_a
for oldloc,j in enumerate(a):
newloc=mid-oldloc
if newloc>0:
newlocT=2*(newloc)-1
elif newloc<0:
newlocT=2*abs(newloc)
elif newloc==0:
newlocT=0
b[int(newlocT)]=j**2 #把a的list的位置换算成b list的位置,且把a的值平方传过
来
print(b)
※ 引述《WayneHong (韦恩)》之铭言:
: 小弟即将出社会菜逼八一枚
: 因为软件面试常常会遇到现场白纸或白板coding
: 想请教各位前辈
: 如果遇到较复杂的问题
: 自己没有把握用纯代码方式回答的话
: 可以把解题方法或思路写下来当作替代方案吗?
: 就是会用到什么算法、函式,逻辑大概是怎样....之类
: 例如这个题目:
: https://imgur.com/dAHI3Jq
: 标准答案应该是这样:
: https://imgur.com/MdnXLxg
: 如果我的回答是:
: https://imgur.com/FKlAUZJ
: 如果这样回答会不会被面试官ㄍㄧㄠˇ
: 可能这个问题的回答是“要看人”
: 不过还是想问一下普遍人的看法
: 谢谢各位~
: PS:
: 我知道上面那题很简单
: 目前的功力即使是纸笔写也是可以轻松完成的