Автор | Сообщение |
|
Отправлено: 18.02.19 13:11. Заголовок: Есть ли разница в эффективности?
Здравствуйте. Мое решение к заданию 76 на Python отличается, как кажется, только видом массива ("словарь" вместо "списка") и другим способом нахождения минимальных значений. Есть ли существенная для ЕГЭ разница в эффективности между этими программами? Условие: Скрытый текст Назовём длиной числа количество цифр в его десятичной записи. Например, длина числа 2017 равна 4, а длина числа 7 равна 1. Дан набор из N целых положительных чисел, каждое из которых не превышает 109. Необходимо определить, числа какой длины реже всего (но не менее одного раза) встречаются в данном наборе и сколько в нём чисел этой длины. Если числа разной длины встречаются одинаково часто (и реже, чем числа любой другой длины), нужно выбрать меньшую длину. Напишите эффективную по времени и по памяти программу для решения этой задачи. В первой строке входных данных задаётся количество чисел N (1 ≤ N ≤ 10000). В каждой из последующих N строк записано одно натуральное число, не превышающее 109.
| Решение с сайта: count = [0]*11 N = int(input()) for i in range(N): minCount = N + 1 for i in range(1,10): if count > 0 and count < minCount: print(minLen, minCount) Мое решение: N=int(input()) l={} for i in range(N): print(l) ml=min(l.values()) d=min([x[0] for x in l.items() if x[1]==ml]) print(d, ml)
|
|
|
Новых ответов нет
[см. все]
|
|
|
| Администратор
|
Сообщение: 1812
|
|
Отправлено: 19.02.19 12:06. Заголовок: Нет, разницы в эффек..
Нет, разницы в эффективности нет.
|
|
|