Я знаю, что существует алгоритм, который позволяет по комбинации чисел (без повторений, без порядка) вычислять индекс лексикографического порядка.
Для моего приложения это было бы очень полезно для ускорения работы ...
Например:
combination(10, 5)
1 - 1 2 3 4 5
2 - 1 2 3 4 6
3 - 1 2 3 4 7
....
251 - 5 7 8 9 10
252 - 6 7 8 9 10
Мне нужно, чтобы алгоритм возвращал индекс данной комбинации.
es: index (2, 5, 7, 8, 10)
-> index
РЕДАКТИРОВАТЬ: на самом деле я использую приложение Java, которое генерирует все комбинации C (53, 5) и вставляет их в TreeMap.
Моя идея состоит в том, чтобы создать массив, содержащий все комбинации (и связанные данные), которые я могу проиндексировать с помощью этого алгоритма.
Все для ускорения поиска комбинаций.
Однако я попробовал некоторые (не все) ваши решения, и предложенные вами алгоритмы медленнее, чем get () из TreeMap.
Если это поможет: мне нужна комбинация 5 от 53, начиная с 0 до 52.
Еще раз спасибо всем: -)