Cody

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

Solution 233657

Submitted on 21 Apr 2013 by Mehmet OZC
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.0272 Elapsed time is 0.000608 seconds. t_myunique = 1.3000e-05 Elapsed time is 0.000344 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.0158 Elapsed time is 0.000019 seconds. t_my_unique = 2.0000e-05 Elapsed time is 0.000085 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.7500e-04 Elapsed time is 0.000014 seconds. t_my_unique = 9.0000e-06 Elapsed time is 0.000032 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!