
Maxim
23.06.2016
11:10:37
Но чаще всего gfk не нужно.

Jonathan ?
23.06.2016
11:10:44
За сколько можно квартиру посуточно в Питере снять?

Richard
23.06.2016
11:10:57
Cian.ru

Google

AnswerX
23.06.2016
11:11:01

Anonymous*
23.06.2016
11:11:14
Лучше иметь пару вариантов сразу

53r63rn4r
23.06.2016
11:11:24
,kznm сука

Jonathan ?
23.06.2016
11:11:33

drjackild
23.06.2016
11:11:34
Короче, я так и не понял. как за один проход решить №2. Но по идее, в списке числа, которые подходят - это [0..42], то есть можно проверить на заданный диапазон, а потом че то еще сделать, но не знаю, че))

Anonymous*
23.06.2016
11:11:37

H
23.06.2016
11:12:28

Anonymous*
23.06.2016
11:12:51
Мне алгоритм, с телефона неудобно код читать

Jonathan ?
23.06.2016
11:12:55
правильно
А полученный код он не может в бота вбить? Или ты хочешь, чтобы это автоматически было?

H
23.06.2016
11:13:06
кстати не знал, что dict.get вызывает каждый раз второй аргумент, даже если первый есть в словаре
но в задаче все равно, так как каждый раз x сбрасывается в цикле

Google

drjackild
23.06.2016
11:13:38
не было ничего. просто вот есть лист (теоретически, не конкретный, а вообще лист с интами), надо проверить. есть ли в нем два числа сумма которых = 42

Jonathan ?
23.06.2016
11:14:04
Кто-то юзал Airbnb еще?

Anonymous*
23.06.2016
11:14:14
Второй словарь сделать и в него пихать индексы если удовлетворяет условию 0..42
А можно обращаться к элементу зная значение но не зная индекса?

drjackild
23.06.2016
11:16:09
словарь? думаю список лучше. но что потом? еще и по нему пройтись? здесь что-то из математики, но я, к сожалению, в ней не силен((
да

Aragaer
23.06.2016
11:16:18
нужно ли знать, какие именно?

Anonymous*
23.06.2016
11:16:32
То есть если удовлетвлряет 0..42 то из 42 вычесть значение и найти в массиве
Если нет то нет если да то да

Aragaer
23.06.2016
11:16:40
сгенерить второй список с элементами 42-первый
и потом для каждого элемента второго списка проверить, есть ли он в первом

Anonymous*
23.06.2016
11:16:52
Вот так вот как то но не уверен что так можно

AnswerX
23.06.2016
11:16:58
я вот не сильно шарю в сложностях алгоритмов, но почему бы не перебрать простым сравнением - брать 1 элем и сравнивать его с остальными и при сумме = 42 просто выйти из цикла

Cykooz
23.06.2016
11:17:04

Richard
23.06.2016
11:17:06

AnswerX
23.06.2016
11:17:08
один, а не первый

Андрей
23.06.2016
11:17:36
for t in a:
if 43 in map(lambda x: x+t ,a):
print('Yep!')
break

Aragaer
23.06.2016
11:17:42
разницу кого с кем?

Андрей
23.06.2016
11:18:01
где a - список значений

Richard
23.06.2016
11:18:20

Google

drjackild
23.06.2016
11:18:46
Энди, тоже думал в сторону map, но разве это не проход по списку еще раз?

Richard
23.06.2016
11:18:59
Проверка на наличие числа в списке — О(n), в множестве — О(1)

Anonymous*
23.06.2016
11:19:11
Можно зная значение получить индекс элемента массива?

Richard
23.06.2016
11:19:15

Андрей
23.06.2016
11:19:33

drjackild
23.06.2016
11:19:40
x да, list.index(value)
не прокатило, я ему такое тоже задвинул))

Anonymous*
23.06.2016
11:20:09
Да, О(н)
Т.е. работает как фор? Не покатит по скорости?

H
23.06.2016
11:20:10
у меня не получается лучше O(n log(n))

Richard
23.06.2016
11:20:13
Жжоте

terry
23.06.2016
11:20:23
Список 80 Python курсов
http://bafflednerd.com/learn-python-online/

Richard
23.06.2016
11:20:30

Anonymous*
23.06.2016
11:20:38

Richard
23.06.2016
11:22:05

drjackild
23.06.2016
11:22:11
неа, но у меня уже есть оффер от двух других компаний, поэтому сюда я шел больше для интереса. и надо сказать, что было круто, теперь я понимаю, что у меня здорооовый такой пробел в знаниях)
хотя, это я и раньше понимал ?

H
23.06.2016
11:22:39

Richard
23.06.2016
11:23:01
Век живи век учись. Только не рассказывай другим компаниям про пробел)

H
23.06.2016
11:23:14
но там сет из 42 значений, так что можно сказать о(1)!

Google

Richard
23.06.2016
11:23:19

drjackild
23.06.2016
11:23:20
ахах)) ну да, это для себя скорее)

Richard
23.06.2016
11:23:26
Там хэш

H
23.06.2016
11:24:07
кстати, а инты они же еще отрицательные могут быть

Richard
23.06.2016
11:24:35
Так что в сете уже 84 значения!
85!

H
23.06.2016
11:24:45
нет
может быть -1231241 и 12124124
в сумме будет 42

Admin
ERROR: S client not available

H
23.06.2016
11:25:12
числа от балды, но суть ты понял
даже с минусами получается о н лог н вроде

drjackild
23.06.2016
11:26:13
вот кстати про знак он не уточнил, так что полагаю, что да, с минусом тоже

Anonymous*
23.06.2016
11:28:15
Н н закезай код

H
23.06.2016
11:32:07
ну идея такая

AnswerX
23.06.2016
11:32:12
кажется что нужно работать с хешами. Запихиваешь все хеши в хеш таблицу без сортировки и на ходу потом сравниваешь

H
23.06.2016
11:32:45
работает только с 0..42 и во втором цикле там бинарный поиск, который мне лень писать
x = [1, 10, 30, 18, 45, 12]
tmp = set()
for i in x:
# print(tmp)
if i > 42 or i in tmp:
continue
done = False
for j in tmp:
if i + j == 42:
print("yep!")
done = True
break
if i + j > 42:
break
if done:
break
tmp.add(i)
else:
print("nope!")
может накосячил где

Google

H
23.06.2016
11:33:49
for j in tmp: - тут клевый бинарный обход сета за O(log n)

Anonymous*
23.06.2016
11:34:34
Черт слишком плохо знаю синтаксис
А на 2.7 пишет еще кто?
Насколько он актуален

H
23.06.2016
11:35:39
да все пишут

Cykooz
23.06.2016
11:35:52

H
23.06.2016
11:35:59
indeed

Андрей
23.06.2016
11:37:07

H
23.06.2016
11:37:20
https://pythonclock.org

Roman
23.06.2016
11:38:00

Anonymous*
23.06.2016
11:38:44
2020 через три полных года... еб твою мать как я стар

H
23.06.2016
11:39:43
представь, сейчас 18 лет тем, кто родился в 1998!
98й карл

Anonymous*
23.06.2016
11:39:59
И я уже не педофил

AnswerX
23.06.2016
11:41:01
дела еще страшнее - уже 16 тем, кто из 2000

Rinat
23.06.2016
11:41:04
ухх !!!

AnswerX
23.06.2016
11:41:10
то есть даже в этом случае не педофил

Rinat
23.06.2016
11:41:22
6 лет тем кто в 2010 )))

Anonymous*
23.06.2016
11:41:25
Хотя год назад был им)))

AnswerX
23.06.2016
11:41:35
время идет - люди меняются

H
23.06.2016
11:41:49
о, кстати вот и o(n) подъехал
x = [1, 10, 30, 18, 45, 12]
tmp = set()
for i in x:
if i > 42 or i in tmp:
continue
if 42 - i in tmp:
print("yep!")
break
tmp.add(i)
else:
print("nope!")

Andrey
23.06.2016
11:44:10