Given a matrix of n*n size, the task is to find whether all rows are circular rotations of each other or not.
Input: mat = 1, 2, 3 3, 1, 2 2, 3, 1 Output: Yes All rows are rotated permutation of each other. Input: mat = 1, 2, 3 3, 2, 1 1, 3, 2 Output: No Explanation : As 3, 2, 1 is not a rotated or circular permutation of 1, 2, 3
The idea is based on below article.
A Program to check if strings are rotations of each other or not
- Create a string of first row elements and concatenate the string with itself so that string search operations can be efficiently performed. Let this string be str_cat.
- Traverse all remaining rows. For every row being traversed, create a string str_curr of current row elements. If str_curr is not a substring of str_cat, return false.
- Return true.
Below is the implementation of above steps.
This article is contributed by Sahil Chhabra (akku). If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
- Circular Matrix (Construct a matrix with numbers 1 to m*n in spiral way)
- Count all sorted rows in a matrix
- Remove first X rows and columns from a matrix
- Find all permuted rows of a given row in a matrix
- Common elements in all rows of a given matrix
- Interchange elements of first and last rows in matrix
- Print unique rows in a given boolean matrix
- Count rows in a matrix that consist of same element
- Maximum difference of sum of elements in two rows in a matrix
- Remove any corner X rows and columns from a matrix
- Find duplicate rows in a binary matrix
- Find distinct elements common to all rows of a matrix
- Check if two numbers are bit rotations of each other or not
- Check if strings are rotations of each other or not | Set 2
- Python Counter| Find duplicate rows in a binary matrix