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.
Don’t stop now and take your learning to the next level. Learn all the important concepts of Data Structures and Algorithms with the help of the most trusted course: DSA Self Paced. Become industry ready at a student-friendly price.
- 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)
- Check if two numbers are bit rotations of each other or not
- Check if strings are rotations of each other or not | Set 2
- Common elements in all rows of a given matrix
- Interchange elements of first and last rows in matrix
- Find all permuted rows of a given row in a matrix
- Count all sorted rows in a matrix
- Remove first X rows and columns from a matrix
- A Program to check if strings are rotations of each other or not
- Remove any corner X rows and columns from a matrix
- Count rows in a matrix that consist of same element
- Maximum difference of sum of elements in two rows in a matrix
- Print unique rows in a given boolean matrix
- Find duplicate rows in a binary matrix
- Enlarge a Matrix such that each element occurs in R rows and C columns
- Number of rows and columns in a Matrix that contain repeated values
- Find distinct elements common to all rows of a matrix
- Find a common element in all rows of a given row-wise sorted matrix