給你一個(gè)整數(shù)數(shù)組a。通過(guò)按以下方式b重新排列 的元素來(lái)生成一個(gè)新數(shù)組:ab = [a[0], a[len(a)-1], a[1], a[len(a)-2, ...]我的代碼只循環(huán)一次,我只是從這里卡住了。我嘗試過(guò)的如下def alternatingSort(a): length = len(a) b = [] for i in range(length): if i % 2: b.append(a[length-i]) else: b.append(a[i]) return b如果我的輸入是[1, 3, 5, 6, 4, 2],我的輸出應(yīng)該是[1,2,3,4,5,6] But i get [1, 2, 5, 6, 4, 3]。
1 回答

天涯盡頭無(wú)女友
TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超9個(gè)贊
你的邏輯不正確。這是更改最少的工作解決方案:
def alternatingSort(a):
length = len(a)
b = []
for i in range(length):
if i % 2:
b.append(a[length - (i // 2) - 1]) # Updated.
else:
b.append(a[i // 2]) # Updated.
return b
a = [1, 3, 5, 6, 4, 2]
print(alternatingSort(a))
a = [1, 3 ,2]
print(alternatingSort(a))
添加回答
舉報(bào)
0/150
提交
取消