Hướng dẫn rotate matrix rings in python - xoay vòng ma trận trong python

Xem thảo luận

Cải thiện bài viết

Lưu bài viết

  • Đọc
  • Bàn luận
  • Xem thảo luận

    Cải thiện bài viết

    Lưu bài viết

    Đọc

    Examples:

    Input
    1    2    3
    4    5    6
    7    8    9
    
    Output:
    4    1    2
    7    5    3
    8    9    6
    
    For 4*4 matrix
    Input:
    1    2    3    4    
    5    6    7    8
    9    10   11   12
    13   14   15   16
    
    Output:
    5    1    2    3
    9    10   6    4
    13   11   7    8
    14   15   16   12

    Bàn luận
        1) Move elements of top row. 
        2) Move elements of last column. 
        3) Move elements of bottom row. 
        4) Move elements of first column. 
    Repeat above steps for inner ring while there is an inner ring.

    Cho một ma trận, các phần tử xoay theo chiều kim đồng hồ trong đó.

    Ý tưởng là sử dụng các vòng tương tự như chương trình để in ma trận ở dạng xoắn ốc. Từng một xoay tất cả các vòng của các phần tử, bắt đầu từ ngoài cùng. Để xoay vòng, chúng ta cần làm theo. & NBSP; & nbsp; & nbsp; & nbsp; & nbsp; ; & nbsp; & nbsp; & nbsp; 3) di chuyển các yếu tố của hàng dưới cùng.

    Dưới đây là việc thực hiện ý tưởng trên. Cảm ơn Gaurav Ahirwar đã đề xuất dưới đây giải pháp. & NBSP;

    Python

            

    5 1 2 3
    9 10 6 4
    13 11 7 8
    14 15 16 12
    0

    def rotateMatrix(mat):

        if not len(mat):

        

    5 1 2 3
    9 10 6 4
    13 11 7 8
    14 15 16 12
    2
    5 1 2 3
    9 10 6 4
    13 11 7 8
    14 15 16 12
    3
    5 1 2 3
    9 10 6 4
    13 11 7 8
    14 15 16 12
    4

        

    5 1 2 3
    9 10 6 4
    13 11 7 8
    14 15 16 12
    6
    5 1 2 3
    9 10 6 4
    13 11 7 8
    14 15 16 12
    3 len
    5 1 2 3
    9 10 6 4
    13 11 7 8
    14 15 16 12
    9def0def1

        def3

    5 1 2 3
    9 10 6 4
    13 11 7 8
    14 15 16 12
    3
    5 1 2 3
    9 10 6 4
    13 11 7 8
    14 15 16 12
    4

        def7

    5 1 2 3
    9 10 6 4
    13 11 7 8
    14 15 16 12
    3 lenrotateMatrix(mat):0
    5 1 2 3
    9 10 6 4
    13 11 7 8
    14 15 16 12
    4rotateMatrix(mat):2def0def1

        rotateMatrix(mat):6 rotateMatrix(mat):7rotateMatrix(mat):8 rotateMatrix(mat):9

                1

    5 1 2 3
    9 10 6 4
    13 11 7 8
    14 15 16 12
    3     3    4def1    6

                8     9if0 if1if2    44____21if5

    if6if7

    5 1 2 3
    9 10 6 4
    13 11 7 8
    14 15 16 12
    3 if9

    if6not1

    5 1 2 3
    9 10 6 4
    13 11 7 8
    14 15 16 12
    3 not3

    if6    1

    5 1 2 3
    9 10 6 4
    13 11 7 8
    14 15 16 12
    3 not7

            

    5 1 2 3
    9 10 6 4
    13 11 7 8
    14 15 16 12
    2    4
    5 1 2 3
    9 10 6 4
    13 11 7 8
    14 15 16 12
    3 def1

                8     9if0 if1len8    4def1if5

    if6if7

    5 1 2 3
    9 10 6 4
    13 11 7 8
    14 15 16 12
    3 if9

    if6not1

    5 1 2 3
    9 10 6 4
    13 11 7 8
    14 15 16 12
    3 not3

    if6    1

    5 1 2 3
    9 10 6 4
    13 11 7 8
    14 15 16 12
    3 not7

            

    5 1 2 3
    9 10 6 4
    13 11 7 8
    14 15 16 12
    2    4
    5 1 2 3
    9 10 6 4
    13 11 7 8
    14 15 16 12
    3 def1

                8     9if0 if1len8    4def1if5

    if6if7

    5 1 2 3
    9 10 6 4
    13 11 7 8
    14 15 16 12
    3 if9

    if6not1

    5 1 2 3
    9 10 6 4
    13 11 7 8
    14 15 16 12
    3 not3

    if6    1

    5 1 2 3
    9 10 6 4
    13 11 7 8
    14 15 16 12
    3 not7

            

    5 1 2 3
    9 10 6 4
    13 11 7 8
    14 15 16 12
    2    4
    5 1 2 3
    9 10 6 4
    13 11 7 8
    14 15 16 12
    3 def1

                8     9if0 if1len8    4def1if5

    if6if7

    5 1 2 3
    9 10 6 4
    13 11 7 8
    14 15 16 12
    3 if9

    if6not1

    5 1 2 3
    9 10 6 4
    13 11 7 8
    14 15 16 12
    3 not3

    if6    1

    5 1 2 3
    9 10 6 4
    13 11 7 8
    14 15 16 12
    3 not7

            

    5 1 2 3
    9 10 6 4
    13 11 7 8
    14 15 16 12
    2    4
    5 1 2 3
    9 10 6 4
    13 11 7 8
    14 15 16 12
    3 def1

                8     9if0 if1len8    4def1if5

    if6if7

    5 1 2 3
    9 10 6 4
    13 11 7 8
    14 15 16 12
    3 (mat):5

    5 1 2 3
    9 10 6 4
    13 11 7 8
    14 15 16 12
    70
    5 1 2 3
    9 10 6 4
    13 11 7 8
    14 15 16 12
    3
    5 1 2 3
    9 10 6 4
    13 11 7 8
    14 15 16 12
    72

    if6(mat):7

    5 1 2 3
    9 10 6 4
    13 11 7 8
    14 15 16 12
    3 not3

            def7def0

    5 1 2 3
    9 10 6 4
    13 11 7 8
    14 15 16 12
    3 def1

                8     9if0 if1

    5 1 2 3
    9 10 6 4
    13 11 7 8
    14 15 16 12
    04def0def1
    5 1 2 3
    9 10 6 4
    13 11 7 8
    14 15 16 12
    07def0__21

    if6if7

    5 1 2 3
    9 10 6 4
    13 11 7 8
    14 15 16 12
    3
    5 1 2 3
    9 10 6 4
    13 11 7 8
    14 15 16 12
    14

            def14

    if6

    5 1 2 3
    9 10 6 4
    13 11 7 8
    14 15 16 12
    16
    5 1 2 3
    9 10 6 4
    13 11 7 8
    14 15 16 12
    3 not3

    def18

    Output:  

    5 1 2 3
    9 10 6 4
    13 11 7 8
    14 15 16 12

            

    5 1 2 3
    9 10 6 4
    13 11 7 8
    14 15 16 12
    6def0
    5 1 2 3
    9 10 6 4
    13 11 7 8
    14 15 16 12
    3 def1
    O(max(m,n) * max(m,n))
    Auxiliary Space: O(m*n)

                8     9if0 if1

    5 1 2 3
    9 10 6 4
    13 11 7 8
    14 15 16 12
    33def0def1
    5 1 2 3
    9 10 6 4
    13 11 7 8
    14 15 16 12
    07def0__21


    Làm thế nào để bạn xoay một ma trận trong Python?

    Cho một ma trận, các phần tử xoay theo chiều kim đồng hồ trong đó ...
    Di chuyển các yếu tố của hàng trên cùng ..
    Di chuyển các yếu tố của cột cuối cùng ..
    Di chuyển các yếu tố của hàng dưới cùng ..
    Di chuyển các yếu tố của cột đầu tiên ..

    Làm thế nào để bạn xoay một phần tử ma trận?

    Xoay của ma trận liên quan đến hai bước: thứ nhất, hãy tìm chuyển vị của ma trận đã cho. VAP Các phần tử của cột đầu tiên với cột cuối cùng (nếu ma trận là 3*3). Cột thứ hai vẫn giữ nguyên.find the transpose of the given matrix. Swap the elements of the first column with the last column (if the matrix is of 3*3). The second column remains the same.

    Làm thế nào để bạn xoay 90 độ trong Python?

    Hàm ROT90 () được sử dụng để xoay một mảng 90 độ trong mặt phẳng được chỉ định bởi các trục.Hướng xoay là từ đầu thứ nhất về phía trục thứ hai.Mảng gồm hai hoặc nhiều kích thước.rot90() function is used to rotate an array by 90 degrees in the plane specified by axes. Rotation direction is from the first towards the second axis. Array of two or more dimensions.

    Làm thế nào để bạn xoay một ma trận 90 độ chống theo chiều kim đồng hồ trong Python?

    Nếu ma trận trống, thì.trả lại một danh sách trống ..
    n: = số lượng hàng của ma trận ..
    Đối với mỗi hàng trong ma trận, làm.đảo ngược hàng ..
    Đối với i trong phạm vi 0 đến n 1, làm.Đối với J trong phạm vi 0 đến I 1, làm.hoán đổi ma trận [i, j] và ma trận [j, i].
    Ma trận trả lại ..