Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def rotate(m):
- n = len(m)
- c = int((n + 1) / 2)
- f = int(n / 2)
- for x in range(c):
- for y in range(f):
- m[x][y], m[n - 1 - y][x] = m[n - 1 - y][x], m[x][y]
- m[n - 1 - y][x], m[n - 1 - x][n - 1 - y] = m[n - 1 - x][n - 1 - y], m[n - 1 - y][x]
- m[n - 1 - x][n - 1 - y], m[y][n - 1 - x] = m[y][n - 1 - x], m[n - 1 - x][n - 1 - y]
- return m
- if __name__ == "__main__":
- a = [[1, 2], [3, 4]]
- a = rotate(a)
- assert (a[0][0] == 3)
- assert (a[0][1] == 1)
- assert (a[1][0] == 4)
- assert (a[1][1] == 2)
- a = [[1, 2, 3], [4, 5, 6], [6, 7, 8]]
- a = rotate(a)
- assert (a[0][0] == 6)
- assert (a[0][1] == 4)
- assert (a[0][2] == 1)
- assert (a[1][0] == 7)
- assert (a[1][1] == 5)
- assert (a[1][2] == 2)
- assert (a[2][0] == 8)
- assert (a[2][1] == 6)
- assert (a[2][2] == 3)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement