@ru_python

Страница 9076 из 9768
Konstantin
19.05.2019
21:21:07
о, теперь красиво ))

Tishka17
19.05.2019
21:21:08
Я думал обязательно что-то пропущено

Ruslan
19.05.2019
21:21:18
в pyQt реально обновить данные в форме без блокирующей операции? в моем случае в TreeWidget примеры из интернета только создают поток чтобы не вызывать задержку получения данных, а сам момент присвоения новых данных вызывается с блоком

Google
dev
19.05.2019
21:22:16
алгоритмически нам нужно ОДИН раз найти наименьшее число в массиве если есть 1, то сразу false же ж я бы ваще просто так сделал for i in xrange (1,10000000000,1): if i not in x: return false:

Ruslan
19.05.2019
21:22:43
Не юзай treewidget. Юзай treeview
т.е. виджеты нельзя обвновить без блока, а модели можно?

Tishka17
19.05.2019
21:23:07
т.е. виджеты нельзя обвновить без блока, а модели можно?
Модель тоже будет под блоком. Просто больше гибкости

У виджетов своя кривая модель внутри

Точнее тупая

dev
19.05.2019
21:24:03
** return i !!

dev
19.05.2019
21:24:22
имъх мой вариант самый простой)

не самый быстрый (возможно)

Tishka17
19.05.2019
21:25:16
имъх мой вариант самый простой)
У меня вроде дословно то же самое. Разве что сет для скорости ещё

Konstantin
19.05.2019
21:25:20
не самый быстрый (возможно)
это мы все про ту же задачку?

Slam! 538
19.05.2019
21:25:51
У меня вроде дословно то же самое. Разве что сет для скорости ещё
быстрее создать множество без дубликатов либо пройтись несколько лишних раз?

Tishka17
19.05.2019
21:25:51
т.е. виджеты нельзя обвновить без блока, а модели можно?
Имею ввиду ты сможешь тупо всю модель если что заменить

Google
dev
19.05.2019
21:25:52
Я не спец в питоне, если чо)

Tishka17
19.05.2019
21:26:47
Чем дальше число ожидается, тем сет выгоднее

Qwer
19.05.2019
21:26:50
Подскажите через какую прогу лучше программировать?

dev
19.05.2019
21:26:58
во, грамотная мысль!

Aragaer
19.05.2019
21:27:16
лучше чем что?

dev
19.05.2019
21:27:23
Чем дальше число ожидается, тем сет выгоднее
поэтому и вопрос о размере массива

Tishka17
19.05.2019
21:27:38
поэтому и вопрос о размере массива
Нет в размере. А в том где пропуск

Qwer
19.05.2019
21:27:42
Pycharm норм
Спасибо

Aragaer
19.05.2019
21:28:11
а чо сделать-то надо?

dev
19.05.2019
21:28:16
но пропуск может же быть между 1000000 и 1000002

это размер и есть

по олимпиадному нам по идее даже до конца цикла не надо доходить возможно!)

то есть set не оптимален типа

Tishka17
19.05.2019
21:32:05
но пропуск может же быть между 1000000 и 1000002
Ну если пропуск дальше чем sqrt(len*2), то сет выгоднее. Если ближе - нет. А дальше надо смотреть распределение вероятности. Один поиск числа в конце массива может испортить тысячу успешных в начале

Google
Tishka17
19.05.2019
21:32:26
dev
19.05.2019
21:32:46
ну если он уже была ранее, то херли её снова то искать ;)

Tishka17
19.05.2019
21:33:04
Вру насчёт len

Ну то есть в зависимости от содержания массива

Если он довольно случайный, то ты за первые несколько итераций цикла и так его целиком пробежишь

Более того, если числа в нем нет - ты обязан целиком пробежать массив

А значит ты делаешь 1. Прогон всегда (для успешного поиска) 2. Много частичных прогонов А с сетом 1. Прогон всегда для сета 2. Константа для поиска каждого яисла

dev
19.05.2019
21:37:38
ну в целом ты прав) оптимизировать дальше не вижу смысла)

Tishka17
19.05.2019
21:38:05
В общем, вариант без сета хорош только если надо найти единицу

dev
19.05.2019
21:38:23
но при этом частные случаи всё равно не будут учтены

просто при наличии 1 время выполнения может быть в разы быстрее

dev
19.05.2019
21:39:55
ну а дальше set)))

так то вообще говоря нам надо найти МИНИМАЛЬНОЕ в массие = один проход

Michael
19.05.2019
21:41:21
Вы конечно пытаетесь написать красивые пару строк кода,но есть два исключения которые вам все ломают. В списке может не быть пропуска и список может быть вообще пуст

Tishka17
19.05.2019
21:43:16
При отсутствии единицы в массиве, время выполнения может быть на константу меньше. А оно в этом случае и так небольшое

dev
19.05.2019
21:44:16
ну если в массиве единица первая стоит, то в n раз (ну типа))

Tishka17
19.05.2019
21:45:43
Нет

Если в массиве первая единица, то для поиска двойки ты пройдешь все равно весь массив

Google
Tishka17
19.05.2019
21:46:10
(если двойки нет)

А в сете проверить единицу - быстро

Примерно столько же сколько проверить ее на первом месте

dev
19.05.2019
21:47:46
имхо set слишком обширное для этой задачи сравниваем min=1 с каждым последующим, в конце цикла (и если нет 1 в массие) получаем конечный ответ

если есть 1 то заканчиваем раньше

Tishka17
19.05.2019
21:48:16
Ты меня не понял

Если в массиве нет единицы, ты это сможешь понять только после проверки всего массива

Если в массиве нет двойки - то же самое

Admin
ERROR: S client not available

SHARIF_.PUARO.ENJINAL
19.05.2019
21:49:27
Интересен. Если Учёный Конрад Цузе не придумал компьютер кем бы я стал уборщиком ? юристом ? Бухгалтером ?

dev
19.05.2019
21:50:01
ну вот я и говорю - полный перебор всё равно нужен (у тебя это set) и если нужно учесть все варианты (=1), то простой перебор цикла решает И этот вариант

Tishka17
19.05.2019
21:50:24
Ну сет - это один полный перебор и 0 частичных.

Без сета ты будешь пробегать по части массива

Много раз

Ведь не могут все числа стоять на первом месте

dev
19.05.2019
21:51:27
for i in x: if min==i разве много раз будет проходить?

if min<i скорее

Tishka17
19.05.2019
21:52:04
Откуда ты min возьмёшь?

А второй после min?

dev
19.05.2019
21:52:22
min=1 обозанчу

Google
Tishka17
19.05.2019
21:52:36
Код в студию

И посмотри как он будет работать для поиска двойки и тройки

dev
19.05.2019
21:54:20
значит min=0))

чорд, не

ну да, чо не если i>1, то значит конец цикла

x[i]

а не i

бля, туплю конечно) но вообще я чую, что мой вариант более быстрый, тока надо придумтаь как)

ОДИН цикл и выход из него при нахождении варианта

min=0 изначально, потом присваиваем намиеньшему значение, но если становится 1, то выход из цикла, потому что нет решения

вот так да

Konstantin
19.05.2019
22:01:36
вот так да
"Код в студию"(с)

dev
19.05.2019
22:11:16
https://pastebin.com/CECD830z

Konstantin
19.05.2019
22:13:24
даже тут выдает неверное решение

для этого массива ответ будет "1"

dev
19.05.2019
22:13:38
на какой массив?

Konstantin
19.05.2019
22:13:57
тот что в коде

dev
19.05.2019
22:14:14
ну print amin-1 значит

Konstantin
19.05.2019
22:14:32
нет )

а если в массиве минимальное значение будет 100?

dev
19.05.2019
22:15:01
для a = [3,4,5,6,72,4,65] ответ будет 2

Страница 9076 из 9768