Commit Graph
8 Commits
Author SHA1 Message Date
Ankur Kataria 9391f546d6 perf(project_euler): replace problem_092/sol1 with digit DP (~1500x speedup) (#15141)
* perf(project_euler): replace problem_092 sol1 with digit DP

The previous solution iterated all 10,000,000 values in a Python-level
for-loop (~6 s on GitHub Actions CI).

The new approach uses digit DP over the decimal digits of (number-1):
counts in O(k * 568 * 10) ~ 40k ops how many integers in [0, number-1]
have each digit-square sum, then multiplies by a precomputed lookup of
whether each sum eventually reaches 89.
Running time on the default input drops from ~6 s to ~0.004 s (~1500x).

Closes #8594

* perf(project_euler): replace problem_092/sol1 with digit DP

* chore: remove workflow artifact (.oss-upstream)
2026-08-31 23:37:40 +02:00
Maxim Smolskiyandpre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> 53b2926704 Enable ruff PGH003 rule (#11345)
* Enable ruff PGH003 rule

* Fix

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fix

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-04-02 21:29:34 +02:00
Christian Claussandpre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> c909da9b08 pre-commit: Upgrade psf/black for stable style 2023 (#8110)
* pre-commit: Upgrade psf/black for stable style 2023

Updating https://github.com/psf/black ... updating 22.12.0 -> 23.1.0 for their `2023 stable style`.
* https://github.com/psf/black/blob/main/CHANGES.md#2310

> This is the first [psf/black] release of 2023, and following our stability policy, it comes with a number of improvements to our stable style…

Also, add https://github.com/tox-dev/pyproject-fmt and https://github.com/abravalheri/validate-pyproject to pre-commit.

I only modified `.pre-commit-config.yaml` and all other files were modified by pre-commit.ci and psf/black.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-02-01 18:44:54 +05:30
84facb78b2 Project Euler: 092 decreased the time (#6627)
* Added explanation and increased speed of the solution of problem 092

* updating DIRECTORY.md

* Added temporary fix to the failing of problem 104

* Reduced few seconds by minor improvements

* Update sol.py

Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
Co-authored-by: Christian Clauss <cclauss@me.com>
2022-10-30 11:10:16 +01:00
Christian Claussandgithub-actions 24d3cf8244 The black formatter is no longer beta (#5960)
* The black formatter is no longer beta

* pre-commit autoupdate

* pre-commit autoupdate

* Remove project_euler/problem_145 which is killing our CI tests

* updating DIRECTORY.md

Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
2022-01-30 20:29:54 +01:00
Maxim Smolskiy f92eac982d Improve Project Euler problem 092 solution 1 (#5703)
* Fix typos

* Improve solution
2021-10-31 11:38:28 +01:00
John Lawandgithub-actions 4bf2eedd3c [mypy] fix mypy error in Project Euler Problem 092 solution 1 (#5357)
* fix mypy error

* updating DIRECTORY.md

* simplify code

* run black

* fix doc consistency

* Fix doc

* fix doc

Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
2021-10-17 08:07:45 +02:00
Srishtik Bhandarkar 7ef2e4d1d0 Add Project Euler Problem 092 (#5091)
* adde solution to problem 092

* added solution to problem 092

* fixed the pre-comit shebang issue
2021-10-17 01:08:41 +08:00