[英]Python Code Not Working!-- Convert array into Zig-Zag fashion
給定一個大小為 N 的不同元素的數組 arr,任務是以之字形方式重新排列數組的元素,以便轉換后的數組應為以下形式: arr[0] < arr[1] > arr [2]<arr[3]>arr[4]<. . . . arr[n-2] < arr[n-1] > arr[n]。
def zigZag(self,arr, n):
res=[]
r=(n//2)+1
arr.sort()
j=0
i=0
for k in range(0, r, 1):
res.insert(i, arr[j])
res.insert(i+1, arr[j+r])
i= i+2
j+= j
return res
您可以對數組進行排序並從數組的兩側添加到新數組中。
def zigZag(self, arr, n):
res=[None]*n
arr.sort()
i = 0
j = 0
while i < n//2:
res[j] = arr[i]
res[j+1] = arr[n-1-i]
i+=1
j+=2
if n%2 == 1:
res[-1] = arr[n//2]
return res
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.