前面有些人已經有好解答,不過感覺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:
: 我知道上面那題很簡單
: 目前的功力即使是紙筆寫也是可以輕鬆完成的