Reversing Alternate rows Using Slicing
Python3
# Python 3 program to print # matrix in snake order M = 4 N = 4 def printf(mat): global M, N # Traverse through all rows for i in range (M): if i % 2 ! = 0 : mat[i] = mat[i][:: - 1 ] for i in range (M): for j in range (N): print (mat[i][j], end = ' ' ) # Driver code mat = [[ 10 , 20 , 30 , 40 ], [ 15 , 25 , 35 , 45 ], [ 27 , 29 , 37 , 48 ], [ 32 , 33 , 39 , 50 ]] printf(mat) # This code is contributed # by vikkycirus |
Output
10 20 30 40 45 35 25 15 27 29 37 48 50 39 33 32
Time Complexity: O(N x M), Traversing over all the elements of the matrix, therefore N X M elements are there.
Auxiliary Space: O(1)
Please refer complete article on Print matrix in snake pattern for more details!
Python Program to Print matrix in snake pattern
Given an n x n matrix .In the given matrix, you have to print the elements of the matrix in the snake pattern.
Examples:
Input :mat[][] = { {10, 20, 30, 40},
{15, 25, 35, 45},
{27, 29, 37, 48},
{32, 33, 39, 50}};
Output : 10 20 30 40 45 35 25 15 27 29
37 48 50 39 33 32
Input :mat[][] = { {1, 2, 3},
{4, 5, 6},
{7, 8, 9}};
Output : 1 2 3 6 5 4 7 8 9