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
-
Flag largest magnitude swings as they occur
678 Solvers
-
Generate a vector like 1,2,2,3,3,3,4,4,4,4
11356 Solvers
-
483 Solvers
-
629 Solvers
-
Rounding off numbers to n decimals
4504 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!