Problem 1888. Get ranking of a combination

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.
Do this with an eye for speed, though it is not tested for here.
Looking for a way to do this WITHOUT generating the nchoosek matrix.

Solution Stats

42.18% Correct | 57.82% Incorrect
Last Solution submitted on Aug 27, 2024

Problem Comments

Solution Comments

Show comments

Problem Recent Solvers49

Suggested Problems

More from this Author51

Community Treasure Hunt

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

Start Hunting!