Давненько не брал я в руки шашек!
Jun. 21st, 2007 11:42 am![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Лёгким движением руки ускорил чужой код на питоне примерно в 60 раз ;)))
В общем, типическое "Кто так пишет..." :)))
Было:Стало:
rows = [] cols = [] for key in values.keys(): row, col = key if not col in cols: cols.append(col) if not row in rows: rows.append(row) n_rows = max(rows) n_cols = max(cols)
n_rows = 0 n_cols = 0 for key in values.keys(): row, col = key if row > n_rows: n_rows = row if col > n_cols: n_cols = col
В общем, типическое "Кто так пишет..." :)))
no subject
Date: 2007-06-21 11:07 am (UTC)no subject
Date: 2007-06-21 02:58 pm (UTC):)))
no subject
Date: 2007-06-21 03:35 pm (UTC)пару раз я видела - и даже пыталась модифицировать программы, в которых код такой, что поневоле начинаешь задумываться о смысле жизни :)
no subject
Date: 2007-06-22 06:01 am (UTC)Для достаточно больших чисел - весьма долго.
Хотя, в действительности, достаточно проверить остаток от деления на 2, он же - младший бит :)))
no subject
Date: 2007-06-22 08:41 am (UTC)no subject
Date: 2007-06-22 10:50 am (UTC)no subject
Date: 2007-06-23 10:51 am (UTC)И так далее до 12. Автор про массивы, похоже, не слышал.
no subject
Date: 2007-06-23 10:41 am (UTC)Может, сразу, ввести определение, что все числа, после некого, чётные?
Иначе пользователь алгоримта удавится ждать результата.
no subject
Date: 2007-06-23 01:01 pm (UTC)Дык, в этом-то и вся прелесть :)
no subject
Date: 2007-06-23 01:13 pm (UTC)Речь, всё же, идёт о числах меньше maxint :)