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 firstname.lastname@example.org. 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.
GeeksforGeeks has prepared a complete interview preparation course with premium videos, theory, practice problems, TA support and many more features. Please refer Placement 100 for details
- Check if the rows of a binary matrix can be made unique by removing a single column
- Minimum circular rotations to obtain a given numeric string by avoiding a set of given strings
- Circular Matrix (Construct a matrix with numbers 1 to m*n in spiral way)
- Remove first X rows and columns from a matrix
- Interchange elements of first and last rows in matrix
- Find all permuted rows of a given row in a matrix
- Common elements in all rows of a given matrix
- Count all sorted rows 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
- Count rows in a matrix that consist of same element
- Find duplicate rows in a binary matrix
- Print unique rows in a given boolean matrix
- Maximum difference of sum of elements in two rows in a matrix
- Remove any corner X rows and columns from a matrix