Problem 3070. Pattern Recognition 3 - Variable Unit and Array Length (including cell arrays)
You will be given various arrays, composed of numbers or strings, including cell arrays of strings. For this problem, the pattern unit length is variable, ranging from three to half the array length (the unit will be completely repeated at least once). Write a function to determine if the supplied array is a strict repeating pattern. The array will not necessarily have a length that is a multiple of the unit length.
For example, [1 2 3 4 5 1 2 3 4 5 1 2 3] would return true since the first block (1:5) is strictly repeated through the remainder of the array (including the last [1 2 3]). On the other hand, 'abcabcabcabcabcabea' would return false, since the last complete block is 'abe' rather than 'abc', as indicated by the first block.
This problem is a follow-on to Problem 3068 and Problem 3069.
Solution Stats
Problem Comments
-
3 Comments
array = [1 10 100 1 10 1 10 100 1 10 100 1];
in test 18, this is false, I think it should true,and you?
The way I interpret it, the last (partial) segment in the sequence <1 10 100 1 10> <1 10 100 1 10> <100 1 ... does not match the expected pattern. The other alternative, sequence <1 10 100 1 10 1 10 100> <1 10 100 1...> has a correct partial match but it does not include a pattern that is repeated at least once...
thanks,I see
Solution Comments
Show commentsProblem Recent Solvers44
Suggested Problems
-
Find state names that start with the letter N
1232 Solvers
-
Given two arrays, find the maximum overlap
1501 Solvers
-
Convert a numerical matrix into a cell array of strings
1831 Solvers
-
Make an awesome ramp for a tiny motorcycle stuntman
653 Solvers
-
Right Triangle Side Lengths (Inspired by Project Euler Problem 39)
1788 Solvers
More from this Author139
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!