Cody

# Problem 53. Duplicates

Solution 1925078

Submitted on 7 Sep 2019
This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.

### Test Suite

Test Status Code Input and Output
1   Fail
strs = {'aa','bb','aa','aa'}; correct = {'aa'}; result = duplicates(strs); assert(isempty(setdiff(result,correct)) & isempty(setdiff(correct,result)))

ans = 1×1 cell array {'aa'} ans = 1×1 cell array {'bb'} ans = 1×1 cell array {'aa'} ans = 1×1 cell array {'aa'} dups = 1×1 cell array {1×1 cell} ans = 1×1 cell array {'aa'} ans = 1×1 cell array {'aa'} saved = logical 1 dups = 1×2 cell array {1×1 cell} {1×1 cell} ans = 1×1 cell array {'bb'} ans = 1×1 cell array {'aa'} ans = 1×1 cell array {'bb'} ans = 1×1 cell array {'aa'} ans = 1×1 cell array {'aa'} ans = 1×1 cell array {'aa'} saved = logical 1 saved = logical 1 dups = 1×3 cell array {1×1 cell} {1×1 cell} {1×1 cell}

Error using cell/setdiff>cellsetdiffR2012a (line 291) Input A of class cell and input B of class cell must be cell arrays of character vectors, unless one is a character vector. Error in cell/setdiff (line 83) [varargout{1:nlhs}] = cellsetdiffR2012a(varargin{:}); Error in Test1 (line 4) assert(isempty(setdiff(result,correct)) & isempty(setdiff(correct,result)))

2   Pass
strs = {'10','11','12'}; correct = {}; result = duplicates(strs); assert(isempty(setdiff(result,correct)) & isempty(setdiff(correct,result)))

ans = 1×1 cell array {'10'} ans = 1×1 cell array {'11'} ans = 1×1 cell array {'10'} ans = 1×1 cell array {'12'} ans = 1×1 cell array {'11'} ans = 1×1 cell array {'12'}

3   Fail
strs = {'zzz','zzz','zzz'}; correct = {'zzz'}; result = duplicates(strs); assert(isempty(setdiff(result,correct)) & isempty(setdiff(correct,result)))

ans = 1×1 cell array {'zzz'} ans = 1×1 cell array {'zzz'} dups = 1×1 cell array {1×1 cell} ans = 1×1 cell array {'zzz'} ans = 1×1 cell array {'zzz'} saved = logical 1 dups = 1×2 cell array {1×1 cell} {1×1 cell} ans = 1×1 cell array {'zzz'} ans = 1×1 cell array {'zzz'} saved = logical 1 saved = logical 1 dups = 1×3 cell array {1×1 cell} {1×1 cell} {1×1 cell}

Error using cell/setdiff>cellsetdiffR2012a (line 291) Input A of class cell and input B of class cell must be cell arrays of character vectors, unless one is a character vector. Error in cell/setdiff (line 83) [varargout{1:nlhs}] = cellsetdiffR2012a(varargin{:}); Error in Test3 (line 4) assert(isempty(setdiff(result,correct)) & isempty(setdiff(correct,result)))

4   Fail
strs = {'a','b','c','b','d','c'}; correct = {'b','c'}; result = duplicates(strs); assert(isempty(setdiff(result,correct)) & isempty(setdiff(correct,result)))

ans = 1×1 cell array {'a'} ans = 1×1 cell array {'b'} ans = 1×1 cell array {'a'} ans = 1×1 cell array {'c'} ans = 1×1 cell array {'a'} ans = 1×1 cell array {'b'} ans = 1×1 cell array {'a'} ans = 1×1 cell array {'d'} ans = 1×1 cell array {'a'} ans = 1×1 cell array {'c'} ans = 1×1 cell array {'b'} ans = 1×1 cell array {'c'} ans = 1×1 cell array {'b'} ans = 1×1 cell array {'b'} dups = 1×1 cell array {1×1 cell} ans = 1×1 cell array {'b'} ans = 1×1 cell array {'d'} ans = 1×1 cell array {'b'} ans = 1×1 cell array {'c'} ans = 1×1 cell array {'c'} ans = 1×1 cell array {'b'} ans = 1×1 cell array {'c'} ans = 1×1 cell array {'d'} ans = 1×1 cell array {'c'} ans = 1×1 cell array {'c'} dups = 1×2 cell array {1×1 cell} {1×1 cell} ans = 1×1 cell array {'b'} ans = 1×1 cell array {'d'} ans = 1×1 cell array {'b'} ans = 1×1 cell array {'c'} ans = 1×1 cell array {'d'} ans = 1×1 cell array {'c'}

Error using cell/setdiff>cellsetdiffR2012a (line 291) Input A of class cell and input B of class cell must be cell arrays of character vectors, unless one is a character vector. Error in cell/setdiff (line 83) [varargout{1:nlhs}] = cellsetdiffR2012a(varargin{:}); Error in Test4 (line 4) assert(isempty(setdiff(result,correct)) & isempty(setdiff(correct,result)))

5   Pass
strs = {}; correct = {}; result = duplicates(strs); assert(isempty(setdiff(result,correct)) & isempty(setdiff(correct,result)))