Cody

Problem 1237. It's race time! Write a faster function than the test suite call of unique().

Solution 321126

Submitted on 19 Sep 2013 by Saptarshi Roy
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   Pass
%% x = rand(10000, 1); z = rand(10000, 1); x = vertcat(x, z); tic y_correct = unique(x); t_unique = toc tic y_myunique = my_unique(x); t_myunique = toc assert(isequal(sort(my_unique(x)),y_correct) && t_unique > t_myunique)

t_unique = 0.0386 Elapsed time is 0.000776 seconds. t_myunique = 2.2000e-05 Elapsed time is 0.000288 seconds.

2   Pass
%% x = rand(50000, 1); z = rand(50000, 1); x = vertcat(x, z); tic y_correct = unique(x); t_unique = toc tic y_my_unique = my_unique(x); t_my_unique = toc assert(isequal(sort(my_unique(x)),y_correct) && t_unique > t_my_unique)

t_unique = 0.0206 Elapsed time is 0.000026 seconds. t_my_unique = 1.5000e-05 Elapsed time is 0.000064 seconds.

3   Pass
%% x = [1; 2; 3; 4; 2; 3; 4; 5;]; tic y_correct = unique(x); t_unique = toc tic y_my_unique = my_unique(x); t_my_unique = toc assert(isequal(sort(my_unique(x)),y_correct) && t_unique > t_my_unique)

t_unique = 1.9600e-04 Elapsed time is 0.000037 seconds. t_my_unique = 1.2000e-05 Elapsed time is 0.000050 seconds.

Suggested Problems

More from this Author7

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!