Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Solution 354434

Submitted on 18 Nov 2013 by J-G van der Toorn

Correct

35Size
Leading solution size is 24.
This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.

Test Suite

Test
Code Input and Output
1
Pass
 
%%
A = [2 2 2 3 3 2 3 8 6 5 6];
[U, H] = hunique(A);
U_ok = [2 3 8 6 5];
H_ok = [4 3 1 2 1];
assert(isequal(U,U_ok));
assert(isequal(H,H_ok));

                    
2
Pass
 
%%
A = [2 2 2 3 3 2 3 8 6 5 6 8];
[U, H] = hunique(A);
U_ok = [2 3 8 6 5];
H_ok = [4 3 2 2 1];
assert(isequal(U,U_ok));
assert(isequal(H,H_ok));

                    
3
Pass
 
%%
A = 100:-11:1;
assert(isequal(hunique(A),A));
[~,H] = hunique(A);
assert(isequal(H,ones(1,10)));

                    
4
Pass
 
%%
A = randi([-10 10],1,100);
[U,H] = hunique(A);
assert(sum(H)==numel(A));
assert(isequal(unique(A),sort(U)));
% number of test cases may increace in the future.
% any proposals of test cases warmly welcome.