Inspired by Problem 38 by Cody Team. Given a vector x, return a vector y of the values in x sorted by the number of CONSECUTIVE occurrences in x. Ties (and it is the difficulty) are sorted from lowest to highest. So if x = [1 2 2 2 3 3 7 7 93] then
y = [2 3 7 1 93]
But if x = [1 1 2 2 2 3 3 7 7 1 93] then
y = [2 1 3 7 1 93]
Update - Test case added 22-8-22
Solution Stats
Problem Comments
5 Comments
Solution Comments
Show comments
Loading...
Problem Recent Solvers427
Suggested Problems
-
Find common elements in matrix rows
2713 Solvers
-
Matrix with different incremental runs
579 Solvers
-
Split a string into chunks of specified length
2051 Solvers
-
Change the sign of even index entries of the reversed vector
637 Solvers
-
761 Solvers
More from this Author43
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
@bmtran is a too strong for me.
I think that in case 3, the correct answer should be: y_correct1 = [1 0 2 9 1 -5 2 0 11] and in case 4: y_correct0 = [1 0 1 0], or did I misunderstood the goal?
I agree with J.R.! Menzinger. Correct answers given are wrong.
No, the provided answers in the test cases are correct. This is "the difficulty" that Jean-Marie mentions above: for integers that are tied by number of occurrences, they are to be sorted within the tied subset in ascending order, not kept in the original ordering within the vector.
Do you mind do explain in a different way? it is not clear for what exactly i should do. It miss 3 problems for me, but in any of them it is not clear the problem itself.