Problem 59801. Limiting Element Occurrences
You are given a list 'v' of numbers. This list may contain repeated numbers. Your objective is to create a new list that maintains the same elements in the same order as the original list. However, if a number appears more than 'k times in the original list, only the first 'k' occurences of that number will be included in the new list. Any additional instances of that number beyond the k-th occurrence will be discarded. Note that, if k equals 0, the resulting list would be empty.
Example: if v = [ 1, 3, 5, 3, 1, 3, 5, 3, 1 ] and k = 2, the function should output [ 1, 3, 5, 3, 1, 5 ].
Solution Stats
Problem Comments
-
3 Comments
Christian Schröder
on 1 Apr 2024
A tip: it's best to use isempty() instead of comparing to [], since [] is specifically 0-by-0 and not equal to e.g. a 0-by-1 array.
minnolina
on 13 May 2024
Christian, you're right, I've made the change. Thanks for the tip!
Christian Schröder
on 13 May 2024
Thanks, minnolina!
Solution Comments
Show commentsProblem Recent Solvers7
Suggested Problems
-
170 Solvers
-
Permute diagonal and antidiagonal
438 Solvers
-
83 Solvers
-
308 Solvers
-
295 Solvers
More from this Author53
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!