@rudepython

Страница 1341 из 1719
Zart
30.01.2019
08:49:22
а, мы её разбирали еще хз когда

Valerа
30.01.2019
08:49:43
>>> x = [True, False, False, True, False] >>> sum(x) 2 ?
Ну это не совсем решает задачу, у тебя по итогу нет отсорченного массива, а с учётом того что чтобы его получить тебе нужно еще пройтись по массиву и заменить на фолсе в лвеой части и на тру в правой не думаю что там будет большая разница, но решение симпатичное

Google
Zart
30.01.2019
08:51:49
l = [True, False, False, True, ...] c = sum(l) l[:-c], l[-c:] = [False] * (len(l) - c), [True]*c

"сортирует" по месту

Valerа
30.01.2019
08:53:10
тут код писать не обязательно - как же отсортировать. и какой алгоритм выбрать.
Ну вообще радикс сортировки около О(н) работают, сомневаюсь что можно придумать что то сильно быстрее пусть и на реальных данных с учетом константы

Anton
30.01.2019
08:53:45
есть способ посчитать "количество" гораздо быстрее. примерно раз этак в 10 минимум.
Оба решения имеют одинаковую асимптотику в линию. разница в константу. И вроде они не решеют задачу когда список действительно большой( больше размера оперативки)

Valerа
30.01.2019
08:54:45
"сортирует" по месту
Разве не сначала будет созданы массивы, а потом просто заменен оригинал? Ну то есть нам все равно нужно О(н) доп памяти

Zart
30.01.2019
08:55:09
ну [False]* можно заменить генераторным выражением...

Zart
30.01.2019
08:55:45
l[:] = (i > c for i in range(len(l)))

Alex
30.01.2019
08:56:14
> сложность алгоритма тут константа и равна N. WUT?

Google
Valerа
30.01.2019
08:57:40
сложность алгоритма тут константа и равна N.
Тебе же все равно придется прочитать весь массив? А это уже не константа Я не спорю с тем что сам алгоритм может быть быстрее, но конкретно это утверждение не очень понятно

Zart
30.01.2019
08:59:23
>>> l = [False, True, False, True, True, False, False, True, True] >>> c = len(l) - sum(l) >>> l[:] = map(c.__le__, range(len(l))) >>> l [False, False, False, False, True, True, True, True, True] >>> самое шустрое что в голову приходит

Boris
30.01.2019
09:07:27
в худшем и лучшем случае, сортировка этого массива равна N.

Valerа
30.01.2019
09:09:29
Или просто какое то число?

Zart
30.01.2019
09:09:56
это биг о

Valerа
30.01.2019
09:10:15
это биг о
Если это биг о то о какой константе может идти речь

Boris
30.01.2019
09:11:30
константность алгоритма в том, что не важно как в нем лежат объекты. лучший, средний и худший случай сортируются за N итераций, где N длинна массива.

Ilgiz
30.01.2019
09:12:59
"Хороша" в том смысле что O() показывает самый худший вариант, а в этом примере это и худший и лучший вариант.

Boris
30.01.2019
09:14:41
На питоне?
где угодно. алгоритм не зависит от языка. когда мы сортируем объекты с признаком булевым, уже не получиться sum сделать. значит мы уже работаем в области свойственной любой платформе.

кодерок на java решил задачку за 15 минут)

Alex
30.01.2019
09:15:10
Big-O это вехний предел

Zart
30.01.2019
09:23:16
линейность

Valerа
30.01.2019
09:24:38
где угодно. алгоритм не зависит от языка. когда мы сортируем объекты с признаком булевым, уже не получиться sum сделать. значит мы уже работаем в области свойственной любой платформе.
Вообще есть такая мысль, пройдемся по массиву если тру, то переходим на следующую итерацию, если нет то текущий делаем тру, а счетчику делаем фалсе, и счетчик +1, счетчик указывает на начало

Это за одну итерацию будет

Google
Boris
30.01.2019
09:26:27
счетчик указывает на начало чего?

Valerа
30.01.2019
09:26:45
Ну в самом начале он равен 0

Ну или 1 если в паскале)

Boris
30.01.2019
09:27:38
ну да это сортировка пузырьком с индексом, места куда нужно свап сделать.

особенность пузыря с булеанами, что ненужно перемещаться влево после свапа.

задачка хорша тем, что мы узнаем знает ли человек о генераторах, о том что такое булеан в питоне, что sum быстрее итерации по массиву и почему, о том, что есть алгоритмы и о том что иногда и пузырь стреляет.

Boris
30.01.2019
09:30:55
но статистика выборки показала, что 30% не способны додуматься были до идеи о том, что вообше булеаны можно подсчитать, 30% не знают про sum, а только треть может решить все кондишены целиком.

но она ничего не говорит о том, как он пишет код. А именно за этим нас и нанимают.

Valerа
30.01.2019
09:32:20
но статистика выборки показала, что 30% не способны додуматься были до идеи о том, что вообше булеаны можно подсчитать, 30% не знают про sum, а только треть может решить все кондишены целиком.
Мне кажется все знают про сум, но не все могут придумать такое решение именно с ним, лично мне в голову как то не пришло сразу

Boris
30.01.2019
09:35:02
хз. я не знал.

Boris
30.01.2019
09:35:39
именно про это статья. задача статьи не в том, чтобы самобичевание устраивать, а в том, чтобы иметь право на незнание чего-либо.

А как это можно проверить?
я не знаю. именно поэтому теперь я джуниор девелопер и отказываюсь собеседовать людей.

потому что те кого я нанимал - я нанимал случайным образом и мне повезло, что они были умнее меня. впрочем это мог бы быть кто угодно -)

Valerа
30.01.2019
09:37:49
хз. я не знал.
d = {True: "g", False: "f", 1: "s", 0: "h", } print(d) Что выведет?) (Без учета порядка)

Boris
30.01.2019
09:39:16
{1: "s", 0: "h"}

Valerа
30.01.2019
09:39:36
{1: "s", 0: "h"}
Ключи старые будут

Google
Valerа
30.01.2019
09:40:04
Ну то есть true и false

Вообще довольно специфичное поведение, надеюсь никто так не пишет

Boris
30.01.2019
09:40:57
оно не специфичное, а объяснимое. просто это все еще ни о чем не говорит.

Boris
30.01.2019
09:41:35
вот скажем история с работы - вчерашняя. человек написал не работающий код, сделал мердж реквест и сказал "давайте лайки", чтобы смержить в мастер

и сказал что заведет дефект, чтобы исправить свой код который не работает сразу следующим мердж реквестом.

Valerа
30.01.2019
09:42:06
ожидаемое
Я знаю, под специфичным я подразумеваю, что для кого то оно может быть неожиданным

Admin
ERROR: S client not available

Boris
30.01.2019
09:42:08
тимлид с 10 летним стажем.

как мне любая задача может помочь ненаять его?

если че про гитфлоу он меня спрашивал на собеседовании. я себе лицо ушиб вчера фейспалмом.

Boris
30.01.2019
09:46:10
ну я на всякий случай, лайки он уже требовал когда ему объяснили почему код не работает. но он все равно собирался его мержить.

stonepig
30.01.2019
09:46:40
давайте вмержим, а я потом еще пофикшу, вот заебись активность создам!

Boris
30.01.2019
09:47:08
еще и таску для дефекта в жире заебеню, ага.

El Mariachi
30.01.2019
10:14:52
в этой части задачи важно знать, что такое булеан, и как работает sum
А это разве не особенность реализации CPyhton булеана именно таким образом? Разве гарантировано, что Тру и Фалсе реализуются точно так же в какой-то другой реализации?

Zart
30.01.2019
10:17:35
https://docs.python.org/3/library/stdtypes.html#boolean-values

"they behave like the integers 0 and 1, respectively"

El Mariachi
30.01.2019
10:17:57
Milton
30.01.2019
16:27:26


Google
Саша
30.01.2019
16:27:48
У тебя всё красное.

Milton
30.01.2019
16:28:03
У тебя всё красное.
Сложно с телефоном-девочкой

Behruz
30.01.2019
16:34:05
привествую народ, почему запускаю код, после ввода сразу сбрасывает? можете сказать почему

Vladimir
30.01.2019
16:34:15
Нет.

Behruz
30.01.2019
16:34:17
str = input("ENTER ARRAY: ") s = (list(str.split())) print(s) if len(s) < 1: print ("PUSTOY MASSIV") raise SystemExit k = 1 for i in range(1, len(s)): if(s[i] != s[i - 1]): k += 1 print("kol=",k)

Oleg
30.01.2019
16:34:48
PUSTOY MASSIV

Behruz
30.01.2019
16:35:22
но я пока начинающий ?

Маришка
30.01.2019
16:35:29
но я пока начинающий ?
чатом промазал

Behruz
30.01.2019
16:35:52
аа соррян, для моего уровня не подскажите

Petr
30.01.2019
16:35:59
if s[i] != s[i-1] ....

Маришка
30.01.2019
16:36:17
аа соррян, для моего уровня не подскажите
Ищется так же как и этот чат нашёл

Milton
30.01.2019
16:36:21
if s[i] != s[i-1] ....
Ат идиницы

Petr
30.01.2019
16:36:45
Ат идиницы
это проверка на уникальность значений же

Николай
30.01.2019
16:37:10
это проверка на уникальность значений же
Только уникальность соседних

Behruz
30.01.2019
16:37:16
ок, пока, извиняюсь что забрел на гуру чат

Petr
30.01.2019
16:37:43
Только уникальность соседних
Тз мы не видели, конечно, может оно и нужно

Страница 1341 из 1719