Задать вопрос
MiheiSV
@MiheiSV
Любитель интересных и забавных технологий

Состоит список только лишь из единиц, или нет?

arr - неотсортированный список рандомных положительных значений в количестве n(большинство из которых - единицы), при чем они могут повторяться
Надо выяснить, состоит список только лишь из единичек, или там есть посторонний элемент. Необходимо найти достаточно быстрое решение. То, что написано ниже не подходит, нужно быстрее. Так же преобразование arr в set не подходит, как и сумма значений массива(если вдруг такие варианты были среди возможных)

arr = [a1,a2,...,an]
if arr.count(1) == len(arr):
    ...
else:
    ...


может я туплю, но ничего более путного не придумал
  • Вопрос задан
  • 625 просмотров
Подписаться 4 Простой 33 комментария
Ответ пользователя PavelMos К ответам на вопрос (5)
@PavelMos
Надо по скорости смотреть, что быстрее
можно попробовать через set это набор только уникальных значений, однако предполагается, что как минимум одна единица там должна быть - в условии сказано, что единиц большинство
res=True if len (set (arr) )==1 else False
скорость вариантов можно мерить, делая print t1=(datetime.datetime.now()) до и t2=datetime.datetime.now() после и потом print (t2-t1)
datetime модуль должен быть по умолчанию вроде установлен
Ответ написан