Konstantin
жду
Slam!
жду
Все, я поправил
Tishka17
видимо неправильно
Там произвольные числа что ли?
Michael
Все, я поправил
5 должно вывести
Michael
выводит 7
Konstantin
Все, я поправил
да, неправильно
Slam!
не понял
Slam!
а, все
Tishka17
a=set(data) min(x for x in range(len(data)) if x not in a)
Slam!
я задачу не так понял
Konstantin
найти наименьшее положительное число, которое отсутствует в массиве
Konstantin
[1, 3, 6, 4, 1, 2] - тут это 5
Konstantin
[1, 2, 3] - тут 4
Konstantin
[-1, -3] - тут 1
Konstantin
это 3 теста для задачи
dev
а задача олимпиадная и размер массива стремится к бесконечности? или на отъ*бись по скорости можно делать?
Проксимов
Можно отсортировать
Konstantin
да я просто решил человеку... тот, кому надо было решение пропал )))
Konstantin
теперь видимо просто оптимизируем код )
dev
ваще какое жирное)) за такое ногами бьют))
Konstantin
оно очень жирное
согласен, но я-то нуб, мне пока можно и так)
dev
тут не питон даже, тут алгоритм для начала надо придумать
dev
ну смотря какому преподу сдавать)
dev
по какому предмету в смысле
dev
отсортировать по любому придётся(есть ограничения по памяти? какова максимальная длина массива) а дальше просто по циклу i=0;i++, как не совпало, значит оно)
dev
* i=1
Проксимов
Можно и не сортировать наверное
Slam!
set
Slam!
a=set(data) min(x for x in range(len(data)) if x not in a)
Тишка красава, сразу видно дух сеньора
Tishka17
Жду замеров
Slam!
Жду замеров
вроде бы и так понятно)
Tishka17
А вот хз
Slam!
А вот хз
из-за set сомнение?
Michael
A1 = [1, 3, 6, 4, 1, 2] A2 = [1, 2, 3] A3 = [-1, -3] def solution(A): my_list = list(filter(lambda i: i >= 1, sorted(set(A)))) if my_list: return sum(range(my_list[0], my_list[-1] + 1)) - sum(my_list) or my_list[-1] + 1 return 1
Tishka17
Нет, из-за формулировки
Michael
еще пример
Tishka17
a=set(data) min(x for x in range(len(data)) if x not in a)
a={x for x in data if x>0} min(x for x in range(len(data)) if x not in a) Вот так можно ещё чуть чуть сэкономить, наверно
Tishka17
По крайней мере память
Slam!
но не скорость(
Tishka17
Может и скорость, я плохо знаю как там хэши у чисел устроены
Slam!
ибо первый цикл жирнее чем второй
Slam!
да и если полно дубликатов, то об экономии не может идти речи :(
Slam!
set был лучше
Konstantin
так какой короткий итоговый вариант?
Konstantin
С set
покажи рабочий код)
Tishka17
Но в зависимости от данных может и второй
Tishka17
a=set(data) min(x for x in range(len(data)) if x not in a)
Slam!
так какой короткий итоговый вариант?
min(x for x in range(len(set(data))) if x not in data)
Tishka17
А нихуя он не быстрый
Tishka17
Ща
Aragaer
эм
Aragaer
min(set(data)-set(a))
Konstantin
так он что-то и не работает
Aragaer
не?
Slam!
не?
не 😟
Slam!
мы же не дубликаты достаем
Konstantin
min(x for x in range(len(set(data))) if x not in data)
что такое data? а что такое a?
Tishka17
a=set(data) result=next(x for x in range(len(data)) if x not in a)
Tishka17
Что-то такое вообще
Konstantin
неверный ответ
Tishka17
Ща
Slam!
нужно единицу добавить в range
Slam!
range(1, len(data))
Tishka17
a=set(data) result=next( x for x in range(1, len(data)+1) if x not in a )
Slam!
да, +1
Konstantin
range(1, len(data))
теперь на этом тесте валимся: data = [1, 2, 3]
Tishka17
Я не очень вникал какие числа считаются
Konstantin
о, теперь красиво ))
Tishka17
Я думал обязательно что-то пропущено
Ruslan
в pyQt реально обновить данные в форме без блокирующей операции? в моем случае в TreeWidget примеры из интернета только создают поток чтобы не вызывать задержку получения данных, а сам момент присвоения новых данных вызывается с блоком