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
-
Return a list sorted by number of occurrences
2890 Solvers
-
467 Solvers
-
Numbers with prime factors 2, 3 and 5.
682 Solvers
-
Given a matrix, swap the 2nd & 3rd columns
1260 Solvers
-
Is this is a Tic Tac Toe X Win?
531 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.