Найдите крайние значения для функции приоритета / порядка алфавита

У нас есть массив элементов 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.

7
задан kvark 11 February 2011 в 14:35
поделиться