Cody

Problem 722. Make a run-length companion vector

Solution 857027

Submitted on 26 Mar 2016 by Rohit Garud
This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.

Test Suite

Test Status Code Input and Output
1   Pass
x = [5 3 3 1 0 9 9 4 4 4 4 5 1 2 2]; r_correct = [1 1 2 1 1 1 2 1 2 3 4 1 1 1 2]; assert(isequal(run_length(x),r_correct))

r = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 count = 1 r = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 count = 1 count = 2 r = 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 r = 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 count = 1 r = 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 count = 1 r = 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 count = 1 count = 2 r = 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 r = 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 count = 1 count = 2 r = 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 count = 3 r = 1 1 2 1 1 1 2 1 2 3 1 1 1 1 1 count = 4 r = 1 1 2 1 1 1 2 1 2 3 4 1 1 1 1 r = 1 1 2 1 1 1 2 1 2 3 4 1 1 1 1 count = 1 r = 1 1 2 1 1 1 2 1 2 3 4 1 1 1 1 count = 1 r = 1 1 2 1 1 1 2 1 2 3 4 1 1 1 1 count = 1 count = 2 r = 1 1 2 1 1 1 2 1 2 3 4 1 1 1 2

2   Pass
x = ones(1,20); r_correct = 1:20; assert(isequal(run_length(x),r_correct))

r = Columns 1 through 16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 17 through 20 1 1 1 1 count = 1 count = 2 r = Columns 1 through 16 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 17 through 20 1 1 1 1 count = 3 r = Columns 1 through 16 1 2 3 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 17 through 20 1 1 1 1 count = 4 r = Columns 1 through 16 1 2 3 4 1 1 1 1 1 1 1 1 1 1 1 1 Columns 17 through 20 1 1 1 1 count = 5 r = Columns 1 through 16 1 2 3 4 5 1 1 1 1 1 1 1 1 1 1 1 Columns 17 through 20 1 1 1 1 count = 6 r = Columns 1 through 16 1 2 3 4 5 6 1 1 1 1 1 1 1 1 1 1 Columns 17 through 20 1 1 1 1 count = 7 r = Columns 1 through 16 1 2 3 4 5 6 7 1 1 1 1 1 1 1 1 1 Columns 17 through 20 1 1 1 1 count = 8 r = Columns 1 through 16 1 2 3 4 5 6 7 8 1 1 1 1 1 1 1 1 Columns 17 through 20 1 1 1 1 count = 9 r = Columns 1 through 16 1 2 3 4 5 6 7 8 9 1 1 1 1 1 1 1 Columns 17 through 20 1 1 1 1 count = 10 r = Columns 1 through 16 1 2 3 4 5 6 7 8 9 10 1 1 1 1 1 1 Columns 17 through 20 1 1 1 1 count = 11 r = Columns 1 through 16 1 2 3 4 5 6 7 8 9 10 11 1 1 1 1 1 Columns 17 through 20 1 1 1 1 count = 12 r = Columns 1 through 16 1 2 3 4 5 6 7 8 9 10 11 12 1 1 1 1 Columns 17 through 20 1 1 1 1 count = 13 r = Columns 1 through 16 1 2 3 4 5 6 7 8 9 10 11 12 13 1 1 1 Columns 17 through 20 1 1 1 1 count = 14 r = Columns 1 through 16 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 1 Columns 17 through 20 1 1 1 1 count = 15 r = Columns 1 through 16 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 Columns 17 through 20 1 1 1 1 count = 16 r = Columns 1 through 16 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Columns 17 through 20 1 1 1 1 count = 17 r = Columns 1 through 16 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Columns 17 through 20 17 1 1 1 count = 18 r = Columns 1 through 16 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Columns 17 through 20 17 18 1 1 count = 19 r = Columns 1 through 16 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Columns 17 through 20 17 18 19 1 count = 20 r = Columns 1 through 16 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Columns 17 through 20 17 18 19 20

3   Pass
x = [1 1 1 2 2 3 4 4 5 5 5]; r_correct = [1 2 3 1 2 1 1 2 1 2 3]; assert(isequal(run_length(x),r_correct))

r = 1 1 1 1 1 1 1 1 1 1 1 count = 1 count = 2 r = 1 2 1 1 1 1 1 1 1 1 1 count = 3 r = 1 2 3 1 1 1 1 1 1 1 1 r = 1 2 3 1 1 1 1 1 1 1 1 count = 1 count = 2 r = 1 2 3 1 2 1 1 1 1 1 1 r = 1 2 3 1 2 1 1 1 1 1 1 count = 1 r = 1 2 3 1 2 1 1 1 1 1 1 count = 1 count = 2 r = 1 2 3 1 2 1 1 2 1 1 1 r = 1 2 3 1 2 1 1 2 1 1 1 count = 1 count = 2 r = 1 2 3 1 2 1 1 2 1 2 1 count = 3 r = 1 2 3 1 2 1 1 2 1 2 3

4   Pass
x = 1:40; r_correct = ones(size(x)); assert(isequal(run_length(x),r_correct))

r = Columns 1 through 16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 17 through 32 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 33 through 40 1 1 1 1 1 1 1 1 count = 1 r = Columns 1 through 16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 17 through 32 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 33 through 40 1 1 1 1 1 1 1 1 count = 1 r = Columns 1 through 16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 17 through 32 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 33 through 40 1 1 1 1 1 1 1 1 count = 1 r = Columns 1 through 16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 17 through 32 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 33 through 40 1 1 1 1 1 1 1 1 count = 1 r = Columns 1 through 16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 17 through 32 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 33 through 40 1 1 1 1 1 1 1 1 count = 1 r = Columns 1 through 16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 17 through 32 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 33 through 40 1 1 1 1 1 1 1 1 count = 1 r = Columns 1 through 16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 17 through 32 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 33 through 40 1 1 1 1 1 1 1 1 count = 1 r = Columns 1 through 16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 17 through 32 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 33 through 40 1 1 1 1 1 1 1 1 count = 1 r = Columns 1 through 16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 17 through 32 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 33 through 40 1 1 1 1 1 1 1 1 count = 1 r = Columns 1 through 16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 17 through 32 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 33 through 40 1 1 1 1 1 1 1 1 count = 1 r = Columns 1 through 16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 17 through 32 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 33 through 40 1 1 1 1 1 1 1 1 count = 1 r = Columns 1 through 16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 17 through 32 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 33 through 40 1 1 1 1 1 1 1 1 count = 1 r = Columns 1 through 16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 17 through 32 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 33 through 40 1 1 1 1 1 1 1 1 count = 1 r = Columns 1 through 16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 17 through 32 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 33 through 40 1 1 1 1 1 1 1 1 count = 1 r = Columns 1 through 16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 17 through 32 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 33 through 40 1 1 1 1 1 1 1 1 count = 1 r = Columns 1 through 16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 17 through 32 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 33 through 40 1 1 1 1 1 1 1 1 count = 1 r = Columns 1 through 16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 17 through 32 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 33 through 40 1 1 1 1 1 1 1 1 count = 1 r = Columns 1 through 16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 17 through 32 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 33 through 40 1 1 1 1 1 1 1 1 count = 1 r = Columns 1 through 16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 17 through 32 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 33 through 40 1 1 1 1 1 1 1 1 count = 1 r = Columns 1 through 16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 17 through 32 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 33 through 40 1 1 1 1 1 1 1 1 count = 1 r = Columns 1 through 16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 17 through 32 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 33 through 40 1 1 1 1 1 1 1 1 count = 1 r = Columns 1 through 16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 17 through 32 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 33 through 40 1 1 1 1 1 1 1 1 count = 1 r = Columns 1 through 16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 17 through 32 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 33 through 40 1 1 1 1 1 1 1 1 count = 1 r = Columns 1 through 16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 17 through 32 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 33 through 40 1 1 1 1 1 1 1 1 count = 1 r = Columns 1 through 16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 17 through 32 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 33 through 40 1 1 1 1 1 1 1 1 count = 1 r = Columns 1 through 16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 17 through 32 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 33 through 40 1 1 1 1 1 1 1 1 count = 1 r = Columns 1 through 16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 17 through 32 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 33 through 40 1 1 1 1 1 1 1 1 count = 1 r = Columns 1 through 16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 17 through 32 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 33 through 40 1 1 1 1 1 1 1 1 count = 1 r = Columns 1 through 16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 17 through 32 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 33 through 40 1 1 1 1 1 1 1 1 count = 1 r = Columns 1 through...

5   Pass
x = [-34 -17*ones(1,100)]; r_correct = [1 1:100]; assert(isequal(run_length(x),r_correct))

r = Columns 1 through 16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 17 through 32 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 33 through 48 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 49 through 64 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 65 through 80 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 81 through 96 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 97 through 101 1 1 1 1 1 count = 1 r = Columns 1 through 16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 17 through 32 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 33 through 48 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 49 through 64 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 65 through 80 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 81 through 96 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 97 through 101 1 1 1 1 1 count = 1 count = 2 r = Columns 1 through 16 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 17 through 32 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 33 through 48 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 49 through 64 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 65 through 80 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 81 through 96 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 97 through 101 1 1 1 1 1 count = 3 r = Columns 1 through 16 1 1 2 3 1 1 1 1 1 1 1 1 1 1 1 1 Columns 17 through 32 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 33 through 48 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 49 through 64 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 65 through 80 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 81 through 96 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 97 through 101 1 1 1 1 1 count = 4 r = Columns 1 through 16 1 1 2 3 4 1 1 1 1 1 1 1 1 1 1 1 Columns 17 through 32 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 33 through 48 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 49 through 64 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 65 through 80 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 81 through 96 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 97 through 101 1 1 1 1 1 count = 5 r = Columns 1 through 16 1 1 2 3 4 5 1 1 1 1 1 1 1 1 1 1 Columns 17 through 32 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 33 through 48 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 49 through 64 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 65 through 80 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 81 through 96 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 97 through 101 1 1 1 1 1 count = 6 r = Columns 1 through 16 1 1 2 3 4 5 6 1 1 1 1 1 1 1 1 1 Columns 17 through 32 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 33 through 48 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 49 through 64 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 65 through 80 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 81 through 96 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 97 through 101 1 1 1 1 1 count = 7 r = Columns 1 through 16 1 1 2 3 4 5 6 7 1 1 1 1 1 1 1 1 Columns 17 through 32 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 33 through 48 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 49 through 64 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 65 through 80 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 81 through 96 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 97 through 101 1 1 1 1 1 count = 8 r = Columns 1 through 16 1 1 2 3 4 5 6 7 8 1 1 1 1 1 1 1 Columns 17 through 32 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 33 through 48 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 49 through 64 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 65 through 80 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 81 through 96 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 97 through 101 1 1 1 1 1 count = 9 r = Columns 1 through 16 1 1 2 3 4 5 6 7 8 9 1 1 1 1 1 1 Columns 17 through 32 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 33 through 48 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 49 through 64 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 65 through 80 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 81 through 96 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 97 through 101 1 1 1 1 1 count = 10 r = Columns 1 through 16 1 1 2 3 4 5 6 7 8 9 10 1 1 1 1 1 Columns 17 through 32 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 33 through 48 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 49 through 64 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 65 through 80 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 81 through 96 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 97 through 101 1 1 1 1 1 count = 11 r = Columns 1 through 16 1 1 2 3 4 5 6 7 8 9 10 11 1 1 1 1 Columns 17 through 32 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 33 through 48 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 49 through 64 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 65 through 80 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 81 through 96 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 97 through 101 1 1 1 1 1 count = 12 r = Columns 1 through 16 1 1 2 3 4 5 6 7 8 9 10 11 12 1 1 1 Columns 17 through 32 ...

Suggested Problems

More from this Author50

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!