Problem 44324. Rewrite setdiff to account for non-unique values
Setdiff(a,b) is a function that will remove all values of b from a. Sometimes, you need this function to do a little bit extra, though. Write a newer version of setdiff that will take into account numbers appearing multiple times in a. For example:
a=[8 7 6 5 4 3 2 1 1]; b=[1 3 4 5 6 7];
In this example, setdiff(a,b) would return [2 8], since only 2 and 8 are not included in a. However, there are two "1" values in a, and only one "1" in b, so new_setdiff should return [1 2 8]. Your output vector should be sorted from low to high.
You can assume that there are no Inf or NaN in either vector, and that no values will appear in b more times than will appear in a.
Solution Stats
Solution Comments
Show commentsProblem Recent Solvers28
Suggested Problems
-
Omit columns averages from a matrix
577 Solvers
-
Project Euler: Problem 2, Sum of even Fibonacci
2040 Solvers
-
Find a subset that divides the vector into equal halves
379 Solvers
-
Cell Counting: How Many Draws?
1624 Solvers
-
Area of an equilateral triangle
5568 Solvers
More from this Author80
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!