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.
- Check if the rows of a binary matrix can be made unique by removing a single column
- Circular Matrix (Construct a matrix with numbers 1 to m*n in spiral way)
- Remove first X rows and columns from a matrix
- Common elements in all rows of a given matrix
- Count all sorted rows in a matrix
- Interchange elements of first and last rows in matrix
- Find all permuted rows of a given row in 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
- Print unique rows in a given boolean matrix
- Find duplicate rows in a binary matrix
- Maximum difference of sum of elements in two rows in a matrix
- Count rows in a matrix that consist of same element
- Remove any corner X rows and columns from a matrix
- A Program to check if strings are rotations of each other or not