измените key
на это:
max(result, key = lambda x : (result.count(x), x))
ваш result
в вашем сценарии (find_gcd([12, 24, 6, 18])
) таков:
[1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 6, 6, 6, 6, 8, 9, 12, 12, 18, 24]
у нас такое же количество 1
s, 2
s, 3
s и 6
s в result
, как вы видите (оба имеют 4 вхождения). но мы хотим величайший один.
ПРИМЕЧАНИЕ : Мы можем использовать два элемента tuple
для решения этой проблемы. первый элемент для номера вхождения (например, 4 вхождения для номера 1), а второй - сам номер. между (4, 1)
и (4, 6)
, (4, 6)
больше, и он вернется.