Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import math
- def tosnail(ans):
- if(ans==[]):
- return [[]]
- n=int(math.sqrt(len(ans)))
- arr=[[0 for i in range(n)] for j in range(n)]
- for i in range(n):
- for j in range(i,n-i):#left
- arr[i][j]=ans.pop()
- for j in range(i+1,n-i):#down
- arr[j][n-i-1]=ans.pop()
- for j in range(n-i-2,i-1,-1):#right
- arr[n-i-1][j]=ans.pop()
- for j in range(n-i-2,i,-1):#up
- arr[j][i]=ans.pop()
- return arr
- def snail(arr):
- if(arr==[[]]):
- return []
- n=len(arr)
- ans=[]
- for i in range(math.ceil(n/2)):
- for j in range(i,n-i):#left
- ans.append(arr[i][j])
- for j in range(i+1,n-i):#down
- ans.append(arr[j][n-i-1])
- for j in range(n-i-2,i-1,-1):#right
- ans.append(arr[n-i-1][j])
- for j in range(n-i-2,i,-1):#up
- ans.append(arr[j][i])
- return tosnail(ans)
- arr = [[1,2,3,4,5],
- [6,7,8,9,10],
- [11,12,13,14,15],
- [16,17,18,19,20],
- [21,22,23,24,25]
- ]
- snail(arr)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement