Skip to content
Related Articles

Related Articles

Python3 Program to Modify a matrix by rotating ith row exactly i times in clockwise direction

View Discussion
Improve Article
Save Article
Like Article
  • Last Updated : 30 May, 2022

Given a matrix mat[][] of dimensions M * N, the task is to print the matrix obtained after rotating every ith row of the matrix i times in a clockwise direction.

Examples:

Input: mat[][] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}
Output:
1 2 3
6 4 5
8 9 7
Explanation:
The 0th row is rotated 0 times. Therefore, the 0th row remains the same as {1, 2, 3}.
The 1st row is rotated 1 times. Therefore, the 1st row modifies to {6, 4, 5}.
The 2nd row is rotated 2 times. Therefore, the 2nd row modifies to {8, 9, 7}.
After completing the above operations, the given matrix modifies to {{1, 2, 3}, {6, 4, 5}, {8, 9, 7}}.

Input: mat[][] = {{1, 2, 3, 4}, {4, 5, 6, 7}, {7, 8, 9, 8}, {7, 8, 9, 8}}
Output:
1 2 3 4
7 4 5 6
9 8 7 8
8 9 8 7

Approach: Follow the steps below to solve the problem:

Below is the implementation of the above approach:

Python3




# Python3 program for the above approach
 
# Function to rotate every i-th
# row of the matrix i times
def rotateMatrix(mat):
     
    i = 0
    mat1 = []
 
    # Traverse the matrix row-wise
    for it in mat:
 
        # Reverse the current row
        it.reverse()
 
        # Reverse the first i elements
        it1 = it[:i]
        it1.reverse()
 
        # Reverse the last (N - i) elements
        it2 = it[i:]
        it2.reverse()
 
        # Increment count
        i += 1
        mat1.append(it1 + it2)
 
    # Print final matrix
    for rows in mat1:
        for cols in rows:
            print(cols, end = " ")
 
        print()
 
# Driver Code
if __name__ == "__main__":
 
    mat = [ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ] ]
     
    rotateMatrix(mat)
 
# This code is contributed by ukasp

Output: 

1 2 3 
6 4 5 
8 9 7

 

Time Complexity: O(N*M), as we are using nested loops to traverse N*M times.

Auxiliary Space: O(1), as we are not using any extra space.

Please refer complete article on Modify a matrix by rotating ith row exactly i times in clockwise direction for more details!


My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!