Я хочу ранжировать и отменять рейтинг подмножеств, заданных длиной. Подмножество определяется следующим образом:
Пример длины перестановки 4
:
У нас есть входная длина строки битов 3 010
(всегда длина перестановки - 1). И maxDistance := 2
.
0
означает, что 2 последовательных элемента увеличиваются.
1
означает, что 2 последовательных элемента уменьшаются.
Для этой цепочки битов существует подмножество с следующие перестановки: 1324,1423,2314,2413,3412
Для битовой строки и значения maxDistance существуют только следующие подмножества перестановок: 1324,2413,3412
Мы можем заметить, что значение maxDistance
описывает максимальное расстояние между 2 последовательных увеличивающихся элемента.
Определенное подмножество maxDistance и цепочки битов, которые я хочу ранжировать и отменять? Есть ли способ algotrithmi c для данного maxDistance и цепочки битов, чтобы сделать это без создания каждой перестановки и проверки?
Заранее спасибо.