У нас есть массив элементов a1, a2, ... aN
из алфавита E
. Предполагая | N | >> | E |
.
Для каждого символа алфавита мы определяем уникальный целочисленный приоритет = V (sym)
. Определим V {i}: = V (symbol (ai))
для простоты.
Как мне найти функцию приоритета V, для которой:
Count(i)->MAX | V{i} < V{i+1}
Другими словами, Мне нужно найти приоритеты / перестановки алфавита, для которых количество позиций i
, удовлетворяющих условию V {i}
Edit-1: Пожалуйста, прочтите внимательно. Мне дан массив ai
, и задача создать функцию V
. Это не о сортировке входного массива с помощью функции приоритета.
Edit-2: Example
E = {a, b, c}; A = 'abcab $';
(здесь $ = символ искусственного завершения, V {$} = + бесконечность)
Одна из оптимальных функций приоритета: V {a} = 1, V {b } = 2, V {c} = 3
, что дает нам следующие знаки между элементами массива: a a , что приводит к 4 знакам '<' Всего 5.