Учитывая массив, скажем, arr = [5, 5, 4, 4, 2, 1]
, как я могу найти из всех возможных перестановок этого массива количество перестановок, которые совпадают с исходным массивом (если исходный массив всегда сортируется в порядке убывания),В этом примере будет 4 перестановки, равные исходному массиву.Ну, вот что я получаю, используя itertools.permutations в Python.Кто-нибудь с чем-то быстрее?Я буду очень благодарен.Ниже приведен мой медленный код Python.
from itertools import permutations
arr = sorted(map(int, (raw_input().split())), reverse = True)
perms = permutations(n,len(arr))
cnt = 0;
for i in perms:
if list(i) == arr: print i; cnt += 1
print cnt