|
Улучшить качество кода: Питон
|
|||
---|---|---|---|
#18+
Задача лежит здесь Код решения Код: python 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
хотелось бы 1) увеличить скорость выполнения кода 2) и услышать критику по качеству кода и алгоритму. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.01.2017, 15:52 |
|
Улучшить качество кода: Питон
|
|||
---|---|---|---|
#18+
mini.weblab, На первый взгляд задача не решается в лоб, а явно намекает на поиск сторон в прямоугольном треугольнике у которого известен лишь периметр. Поиск максимального abc намекает на использование "жадного" алгоритма. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2017, 11:30 |
|
Улучшить качество кода: Питон
|
|||
---|---|---|---|
#18+
NekZ, 1) ну вообще-то, я ее как раз-таки в лоб и решила: сгенирировала все возможные триплеты с макс. произведением и сохранила в data dictionary (использовав периметр как ключ), а дальше в тест кейсах просто доставала данные из словаря по ключу. 2) я думаю, жадный алгоритм тут не сработает ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2017, 23:04 |
|
Улучшить качество кода: Питон
|
|||
---|---|---|---|
#18+
попробовала реализовать идею жадного алгоритма Код: python 1. 2. 3. 4. 5. 6. 7. 8.
я вас правильно поняла, NekZ? в любом случае код теперь выглядит лучше (спасибо) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2017, 03:06 |
|
Улучшить качество кода: Питон
|
|||
---|---|---|---|
#18+
mini.weblab, мой вариант (прошёл все тесты) Код: python 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
строка выделенная красным была посчитана из системы выражений N = a+b+c a^2+b^2 = c^2 Просто выразил b через N и a, тем самым избавив себя от необходимости считать квадраты и корни. Да и как видно у функции есть всего один параметр "a" (N не является параметром, так как в условиях этого алгоритма это константа). В этом коде всё просто: 1. Перебираю все целые "a" 2. Для каждого значения a проверяю будет ли целым b (если да, то я уже уверен что и c будет целым) 3. Умножаю a*b*c (точнее a*b*(N-a-b), что тоже выведено из первого уравнения системы) и смотрю является ли это значение больше предыдущего. Если да - запоминаю ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2017, 03:00 |
|
|
start [/forum/topic.php?fid=23&msg=39384745&tid=1460801]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
47ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 282ms |
total: | 420ms |
0 / 0 |