Advertisement
Guest User

Untitled

a guest
Apr 23rd, 2017
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.87 KB | None | 0 0
  1. def rotate(m):
  2.     n = len(m)
  3.     c = int((n + 1) / 2)
  4.     f = int(n / 2)
  5.     for x in range(c):
  6.         for y in range(f):
  7.             m[x][y], m[n - 1 - y][x] = m[n - 1 - y][x], m[x][y]
  8.             m[n - 1 - y][x], m[n - 1 - x][n - 1 - y] = m[n - 1 - x][n - 1 - y], m[n - 1 - y][x]
  9.             m[n - 1 - x][n - 1 - y], m[y][n - 1 - x] = m[y][n - 1 - x], m[n - 1 - x][n - 1 - y]
  10.     return m
  11.  
  12.  
  13. if __name__ == "__main__":
  14.     a = [[1, 2], [3, 4]]
  15.     a = rotate(a)
  16.     assert (a[0][0] == 3)
  17.     assert (a[0][1] == 1)
  18.     assert (a[1][0] == 4)
  19.     assert (a[1][1] == 2)
  20.     a = [[1, 2, 3], [4, 5, 6], [6, 7, 8]]
  21.     a = rotate(a)
  22.     assert (a[0][0] == 6)
  23.     assert (a[0][1] == 4)
  24.     assert (a[0][2] == 1)
  25.     assert (a[1][0] == 7)
  26.     assert (a[1][1] == 5)
  27.     assert (a[1][2] == 2)
  28.     assert (a[2][0] == 8)
  29.     assert (a[2][1] == 6)
  30.     assert (a[2][2] == 3)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement