Problem 2640. Find similar sequences
Another problem inspired by a question on the answers forum.
Given a matrix of positive integer numbers, find all the rows that are similar to the first rows and return these rows as a new matrix.
Rows are considered similar if the numbers common to both rows are in the exact same order with no other numbers in between. 0s in a row are always ignored and only occur at the end of the row.
For example:
[3 1 5 0 0] and [4 2 1 5 0] are similar (1 5 are the common numbers and occur in the same order) [3 1 5 0 0] and [3 4 1 5 0] are not similar (3 1 5 are the common numbers, there's a 4 in between)
Solution Stats
Problem Comments
-
5 Comments
Basically, find the numbers that are common to both rows. If they're consecutive in both, with no gaps, keep the row
I see
Maybe a better description for the problem would be that the largest sequence of equal numbers between two rows must have the same size and be unique.
Solution Comments
Show commentsGroup

Matrix Manipulation I
- 16 Problems
- 98 Finishers
- Remove the air bubbles
- Remove NaN ?
- N-Dimensional Array Slice
- Back to basics 21 - Matrix replicating
- Back to basics 23 - Triangular matrix
- Make an awesome ramp for a tiny motorcycle stuntman
- Flip the main diagonal of a matrix
- surrounded matrix
- Some Assembly Required
- Set some matrix elements to zero
- Matrix with different incremental runs
- Removing rows from a matrix is easy - but what about inserting rows?
- Rotate input square matrix 90 degrees CCW without rot90
- Permute diagonal and antidiagonal
- Operate on matrices of unequal, yet similar, size
- Reverse the elements of an array
Problem Recent Solvers114
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!