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

Problem 1889. Get ranking of a combination looking for speed.

Created by Doug Hull

I have the numbers pulled without replacement from the set [1 2 3 4 5 6 7 8 9 10 11 12 13]; They are then ordered from least to greatest.

So a selection of [3 2 9], [9 2 3] are both considered to be [2 3 9].

There are 286 unique selections possible. These can be ordered in lexicographic order:

Element   1 = [ 1  2  3]
Element   2 = [ 1  2  4]
Element   3 = [ 1  2  5]
Element   4 = [ 1  2  6]
Element   5 = [ 1  2  7]
Element   6 = [ 1  2  8]
Element   7 = [ 1  2  9]
Element   8 = [ 1  2 10]
Element   9 = [ 1  2 11]
Element  10 = [ 1  2 12]
Element  11 = [ 1  2 13]
Element  12 = [ 1  3  4]
Element  13 = [ 1  3  5]
Element  14 = [ 1  3  6]
Element  15 = [ 1  3  7]
...
Element 285 = [10 12 13]
Element 286 = [11 12 13]

Given the three ordered values as a row vector, return the element number.

The test suite only passes if it is faster that my reference code.

Tags

Problem Group

Solution Statistics

23 correct solutions 42 incorrect solutions
Last solution submitted on Aug 27, 2014