Назначьте каждому элементу буквы целочисленное значение, начиная с 1 A = 1, B = 2, C = 3, D = 4, E = 5, F = 6 (остановка на F для простоты). Затем рассмотрите порядок элементов.поместите, используйте это как кратное число. Так, если число является первым элементом, его множитель равен 1, если его 6-й элемент, то множитель равен 6. Определите максимальный результат, который вы можете получить (в основном, когда все в последовательном порядке)
item a b c d e f
order 1 2 3 4 5 6
value 1 2 3 4 5 6
score 1 4 9 16 25 36 Sum = 91, Score = 100% (MAX)
item a b d c e f
order 1 2 3 4 5 6
value 1 2 4 3 5 6
score 1 4 12 12 25 36 Sum = 90 Score = 99%
=======================
order 1 2 3 4 5 6
item f d b c e a
value 6 4 2 3 5 1
score 6 8 6 12 25 6 Sum = 63 Score = 69%
order 1 2 3 4 5 6
item d f b c e a
value 4 6 2 3 5 1
score 4 12 6 12 25 6 Sum = 65 Score = 71%
очевидно, это очень грубая реализация, которую я только что придумалс.Это может не работать для всего.Примеры 3 и 4 поменялись местами на одну позицию, но при этом оценка на 2% ниже (по сравнению с примерами 1 и 2, которые на 1% ниже).Это просто мысль.Я не эксперт по алгоритмам.Возможно, вы могли бы использовать окончательное число и сделать что-то еще для лучшего численного сравнения.