Problem 672. Longest run of consecutive numbers
Given a vector a, find the number(s) that is/are repeated consecutively most often. For example, if you have
a = [1 2 2 2 1 3 2 1 4 5 1]
The answer would be 2, because it shows up three consecutive times.
If your vector is a row vector, your output should be a row vector. If your input is a column vector, your output should be a column vector. You can assume there are no Inf or NaN in the input. Super (albeit non-scored) bonus points if you get a solution that works with these, though.
Solution Stats
Problem Comments
-
41 Comments
@Andy The problem posed is basically this: in a given vector, for each run of identical numbers, identify the length of said run; then remove all runs of less than the maximal length, and replace all remaining runs with a single occurrence of the number they repeat.
I finally tackled the last problem!
I’m so proud of myself! I know my programming skills still have room for improvement, but I just had to share this amazing feeling with everyone. What a fantastic moment!
Ultimately solved it. I know that reduced size of the code is rewarded on Cody, but I prioritized readability and code with comments that explains what is logically happening. I didn't rely on diff or vertcat because I wanted to understand the basics of what the code should be doing.
Solution Comments
Show commentsProblem Recent Solvers5803
Suggested Problems
-
Given a window, how many subsets of a vector sum positive
857 Solvers
-
Permute diagonal and antidiagonal
460 Solvers
-
Cell Counting: How Many Draws?
2123 Solvers
-
1311 Solvers
-
478 Solvers
More from this Author80
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!