Cody

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

Solution 2231011

Submitted on 23 Apr 2020
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.0056 Elapsed time is 0.007801 seconds. t_myunique = 1.0300e-04 Elapsed time is 0.001722 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.0070 Elapsed time is 0.006252 seconds. t_my_unique = 9.4000e-05 Elapsed time is 0.006168 seconds.

3   Fail
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.000512 seconds. t_my_unique = 2.3500e-04 Elapsed time is 0.000577 seconds.

Assertion failed.