Given a vector x, find the "counting sequence" y.
A counting sequence is formed by "counting" the entries in a given sequence.
For example, the sequence
x = 5, 5, 2, 1, 1, 1, 1, 3
can be read as
Two 5's, one 2, four 1's, one 3
which translates to
y = 2, 5, 1, 2, 4, 1, 1, 3
So y is the counting sequence for x.
For this problem, all elements in the sequences x and y will be in the range from 1 to 9.
The problem does not define correct solution if same number is not in consecutive order, like x = [5 5 2 1 1 5 3]; Should it be three 5's, or two 5's then one 5? If it's an encoding problem the correct solution should be the last, right?
Typical DPCM encoding removes the DC and thus starts at 0, not 1. An 11% enhancement in encoding.
Good problem.
Most of the solutions with UNIQUE don't work when same number is not in consecutive order.
in the new test case 5, with x=[1 2 2 1], the test suite answer is [2 1 2 2] (two 1's, two 2's). I would expect the correct answer to be [1 1 2 2 1 1] (one 1, two 2's, one 1). I guess I am misinterpreting the question?
No. you are right. The test case 5 is wrong.
My mistake guys. Sorry about that. By the way, these comments are very helpful for adding (and fixing) bad test cases. Thanks for taking the time to comment.
Test case 5 answer is wrong. the correct answer is [2 1 2 2]. Change the test case 5 answer
test case 5 answer is wrong
Just to clarify: test case 5 isnt wrong.
wow, last test case is so fun!
Smart !
Doesn't work with [1 2 2 1] for example.
Thanks for the additional test question!
Test case 5 answer is wrong. the correct answer is [2 1 2 2]. Change the test case 5 answer
does not work if numbers have 2 digits , for example : if x = [1 5 8 9 15 14 8 15]
Yes, it only works for 1 to 9, but that is what the problem specified. It is a good solution.
Solutions like this look much more elegant to me than the regexp expressions; and although using 'ans' would shorten it slightly, who would do that in serious code?