Commit Graph

3401 Commits

Author SHA1 Message Date
John Law
7a394411b7
fix black at prefix string (#6122)
* fix black at prefix string

* Type -> type

* Type unused
2022-05-01 15:52:40 +02:00
Shuangchi He
e1ec661d4e
Fix some typos (#6113)
* Fix some typos.

* Update volume.py

Co-authored-by: John Law <johnlaw.po@gmail.com>
2022-05-01 18:44:23 +08:00
Manuel Di Lullo
a7e4b2326a
Add prefix conversions for strings (#5453)
* First commit for add_prefix_conversion

* Class names in CamelCase, str.format() to f-string

* Fixed following pre-commit guidelines

* solved issues with mypy and enum.Enum

* Rename add_prefix_conversion.py to prefix_conversions_string.py

Co-authored-by: John Law <johnlaw.po@gmail.com>
2022-05-01 17:45:08 +08:00
varopxndx
10d0e4ecbf
docs: Fix quicksort & binary tree traversal doc (#4878)
* Fix quicksort doc

* add binary tree traversals doc

* Add link to the reference

* Fix job

* Change url

* Update binary_tree_traversals.md

* Update normal_distribution_quick_sort.md

* Update normal_distribution_quick_sort.md

Co-authored-by: John Law <johnlaw.po@gmail.com>
2022-04-29 01:05:21 +08:00
Paulo S. G. Ferraz
1400cb86ff
Remove duplicate is_prime related functions (#5892)
* Fixes (#5434)

* Update ciphers.rabin_miller.py
         maths.miller_rabin.py

* Fixing ERROR maths/miller_rabin.py - ModuleNotFoundError and changing project_euler's isPrime to is_prime function names

* Update sol1.py

* fix: try to change to list

* fix pre-commit

* fix capital letters

* Update miller_rabin.py

* Update rabin_miller.py

Co-authored-by: John Law <johnlaw.po@gmail.com>
2022-04-09 01:40:45 +08:00
Aviv Faraj
1d3d18bcd2
horizontal motion code physics (#4710)
* Add files via upload

* Changed print to f-string

Also printed out results in a math notation

* Add files via upload

* Fixes: #4710 provided return type

* File exists in another pull request

* imported radians from math

* Updated file according to pre-commit test

* Updated file

* Updated gamma

* Deleted duplicate file

* removed pi

* reversed tests

* Fixed angle condition

* Modified prints to f-string

* Update horizontal_projectile_motion.py

* Update horizontal_projectile_motion.py

* Fixes #4710 added exceptions and tests

* Added float tests

* Fixed type annotations

* Fixed last annotation

* Fixed annotations

* fixed format

* Revert "fixed format"

This reverts commit 5b0249ac0a.

Undo changes
@wq

* Revert "Fixed annotations"

This reverts commit c37bb95408.

* Revert "Fixed last annotation"

This reverts commit e3678fdead.

* Revert "Fixed type annotations"

This reverts commit 3f2b238c34.

* Revert to 4e2fcaf6fb

* Fixing errors found during pre-commit
2022-04-04 15:44:29 +02:00
Harshit Agarwal
1f1daaf1c7
feat: add strings/ngram algorithm (#6074)
* feat: added ngram algorithm
* fix(test): use `math.isclose` to match floating point numbers approximately

Co-authored-by: Christian Clauss <cclauss@me.com>
Co-authored-by: Dhruv Manilawala <dhruvmanila@gmail.com>
2022-04-04 09:06:32 +05:30
Harshit Agarwal
4064bf45f5
fix(pre-commit): update black version (#6075)
black==22.1.0 is breaking the hook. Updating it to 22.3.0 fixes all the issue

Refer: https://github.com/python-poetry/poetry/issues/5375
2022-03-30 08:40:56 +05:30
Anirudh Lakhotia
37200a4b3b
LICENSE: Year change (#5920)
* 📝 Updated year

Fixes: #5916

* Update LICENSE.md

Co-authored-by: John Law <johnlaw.po@gmail.com>
2022-03-16 23:40:48 +08:00
Lukas
7a9b3c7292
Added average absolute deviation (#5951)
* Added average absolute deviation

* Formats program with black

* reruns updated pre commit

* Update average_absolute_deviation.py

Co-authored-by: Christian Clauss <cclauss@me.com>
2022-02-13 18:20:19 +01:00
zer0-x
637cf10555
Add points are collinear in 3d algorithm to /maths (#5983)
* Add points are collinear in 3d algorithm to /maths

* Apply suggestions from code review in points_are_collinear_3d.py

Thanks to cclauss.

Co-authored-by: Christian Clauss <cclauss@me.com>

* Rename some variables to be more self-documenting.

* Update points_are_collinear_3d.py

Co-authored-by: Christian Clauss <cclauss@me.com>
2022-02-13 18:09:09 +01:00
Christian Clauss
885580b3a1
pyupgrade --py310-plus and run mypy in precommit, not build (#5996)
* pyupgrade --py310-plus and run mypy in precommit, not build

* pyupgrade --py310-plus web_programming/fetch_well_rx_price.py

* pyupgrade --py310-plus web_programming/fetch_well_rx_price.py

* Fix arithmetic_analysis/in_static_equilibrium.py

* Fix arithmetic_analysis/in_static_equilibrium.py
2022-02-13 11:01:58 +01:00
Christian Clauss
f707f6d689
Upgrade to Python 3.10 (#5992)
* Upgrade to Python 3.10

* Upgrade to Python 3.10

* mypy || true

* updating DIRECTORY.md

Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
2022-02-13 06:57:44 +01:00
Calvin McCarter
54f765bdd0
Extend power iteration to handle complex Hermitian input matrices (#5925)
* works

python3 -m unittest discover --start-directory src --pattern "power*.py" --t . -v

* cleanup

* revert switch to unittest

* fix flake8
2022-02-02 21:05:05 +01:00
Saptarshi Sengupta
d28ac6483a
Scrape anime and play episodes on browser without ads from terminal (#5975)
* fetch anime

* formatted  code

* fix format errors

* fix bot reviews

* pr review fixes

* remove unussed exception

* change var name

* fix comments
2022-02-01 23:19:17 +01:00
Saptarshi Sengupta
b2a77cc4fb
Scraping prescription drug prices from Rx site using the prescription drug name and zipcode (#5967)
* add wellrx scraping

* write test fix docs

* fix resolve issues

* black format. fix returns

* type check fix for union

* black formatted

* Change requests after code review

* add precommit changes

* flake errors
2022-01-31 01:41:46 +01:00
Christian Clauss
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
Michael Currin
c15a4d5af6
Refactor currency_converter.py (#5917)
* Update currency_converter.py

* refactor: add types and remove reserved  keyword "from" usage

* feat: update text

* Update web_programming/currency_converter.py

Co-authored-by: xcodz-dot <71920621+xcodz-dot@users.noreply.github.com>

* Update web_programming/currency_converter.py

Co-authored-by: xcodz-dot <71920621+xcodz-dot@users.noreply.github.com>

* fix: update currency_converter.py

* updating DIRECTORY.md

* Update currency_converter.py

Co-authored-by: xcodz-dot <71920621+xcodz-dot@users.noreply.github.com>
Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
Co-authored-by: Christian Clauss <cclauss@me.com>
2022-01-28 07:52:42 +01:00
Michael Currin
7423875cef
ci: add mkdir step for mypy (#5927)
* ci: add mkdir step for mypy

* updating DIRECTORY.md

Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
2022-01-26 23:35:51 +08:00
RenatoLopes771
9af2eef9b3
Improve Quine–McCluskey algorithm (#4935)
* Syntax improvements (I hope) to boolean algebra

* Reverted certain index variables to i

* remove extra line on decimal_to_binary

* Update quine_mc_cluskey.py

Co-authored-by: John Law <johnlaw.po@gmail.com>
2021-12-16 17:28:31 +08:00
yellowsto
6680e435a7
Update merge_insertion_sort.py (#5833)
* Update merge_insertion_sort.py

Fixes #5774

merge_insertion_sort

Co-Authored-By: AilisOsswald <44617437+AilisOsswald@users.noreply.github.com>

* Update merge_insertion_sort.py

Fixes #5774

merge_insertion_sort

Co-Authored-By: AilisOsswald <44617437+AilisOsswald@users.noreply.github.com>

* Update merge_insertion_sort.py

Fixes #5774

added permutation range from 0 to 4

Co-Authored-By: AilisOsswald <44617437+AilisOsswald@users.noreply.github.com>

* Use `all()`

Co-authored-by: AilisOsswald <44617437+AilisOsswald@users.noreply.github.com>
Co-authored-by: John Law <johnlaw.po@gmail.com>
2021-12-16 17:27:15 +08:00
Jaydeep Das
65d3cfff2f
Added memoization function in fibonacci (#5856)
* Added memoization function in fibonacci

* Minor changes
2021-11-28 19:20:18 +01:00
Goodness Ezeh
f4a16f607b
Lowercase g --> Capital G (#5845)
* Updated the comments in the code

* Update .gitignore

* Update .gitignore

* Update .gitignore

Co-authored-by: Christian Clauss <cclauss@me.com>
2021-11-24 15:23:44 +01:00
Christian Clauss
1ae5abfc3c
Replace typing.optional with new annotations syntax (#5829)
* Replace typing.optional with new annotations syntax

* updating DIRECTORY.md

Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
2021-11-17 04:43:02 +01:00
Navaneeth Sharma
d848bfbf32
Adding Pooling Algorithms (#5826)
* adding pooling algorithms

* pooling.py: Adding pooling algorithms to computer vision pull_number=

* pooling.py: Adding pooling algorithms to computer vision

* pooling_functions.py: Adding pooling algorithms to computer vision

* pooling.py: Adding Pooling Algorithms

* pooling_functions.py Add and Update

* Update pooling_functions.py

* Update computer_vision/pooling_functions.py

Co-authored-by: Christian Clauss <cclauss@me.com>

* Update computer_vision/pooling_functions.py

Co-authored-by: Christian Clauss <cclauss@me.com>

* Update computer_vision/pooling_functions.py

Co-authored-by: Christian Clauss <cclauss@me.com>

* Update computer_vision/pooling_functions.py

Co-authored-by: Christian Clauss <cclauss@me.com>

* Update pooling_functions.py

* Formatting pooling.py

Co-authored-by: Christian Clauss <cclauss@me.com>
2021-11-16 23:58:47 +01:00
Andrew Grangaard
551c65766d
[Mypy] fix other/least_recently_used (#5814)
* makes LRUCache constructor concrete

* fixes bug in dq_removal in other/least_recently_used

+ deque.remove() operates by value not index

* [mypy] Annotates other/least_recently_used over generic type

+ clean-up: rename key_reference to match type.

* [mypy] updates example to demonstrate LRUCache with complex type

* Adds doctest to other/least_recently_used

* mypy.ini: Remove exclude = (other/least_recently_used.py)

* Various mypy configs

* Delete mypy.ini

* Add mypy to .pre-commit-config.yaml

* mypy --ignore-missing-imports --install-types --non-interactive .

* mypy v0.910

* Pillow=8.3.7

* Pillow==8.3.7

* Pillow==8.3.2

* Update .pre-commit-config.yaml

* Update requirements.txt

* Update pre-commit.yml

* --install-types  # See mirrors-mypy README.md

Co-authored-by: Christian Clauss <cclauss@me.com>
2021-11-16 15:01:17 +01:00
Bartechnika
9b9405fdcd
Add new persistence algorithm (#4751)
* Created new persistence algorithm

* Update persistence.py

* Added another persistence function
2021-11-13 17:32:44 +08:00
Leoriem-code
6314195bb1
Add README files 2/8 (#5766)
* add 5 README files

* empty commit to (hopefully) get rid of the `test-are-failling` label

* Update ciphers/README.md

Co-authored-by: John Law <johnlaw.po@gmail.com>

* Update conversions/README.md

Co-authored-by: John Law <johnlaw.po@gmail.com>

* Update cellular_automata/README.md

Co-authored-by: John Law <johnlaw.po@gmail.com>

* Update computer_vision/README.md

Co-authored-by: John Law <johnlaw.po@gmail.com>

* Update conversions/README.md

Co-authored-by: John Law <johnlaw.po@gmail.com>

* Update compression/README.md

Co-authored-by: John Law <johnlaw.po@gmail.com>
2021-11-11 21:39:54 +08:00
Andrew Grangaard
f36ee034f1
[mypy] Annotate other/lru_cache and other/lfu_cache (#5755)
* Adds repr and doctest of current behavior linkedlist in other/lru_cache

* Blocks removal of head or tail of double linked list

* clarifies add() logic for double linked list in other/lru_cache

* expands doctests to compare cache and lru cache

* [mypy] annotates vars for other/lru_cache

* [mypy] Annotates lru_cache decorator for other/lru_cache

* Higher order functions require a verbose Callable annotation

* [mypy] Makes LRU_Cache generic over key and value types for other/lru_cache

+ no reason to force int -> int

* [mypy] makes decorator a classmethod for access to class generic types

* breaks two long lines in doctest for other/lru_cache

* simplifies boundary test remove() for other/lru_cache

* [mypy] Annotates, adds doctests, and makes Generic other/lfu_cache

See also commits to other/lru_cache which guided these

* [mypy] annotates cls var in other/lfu_cache

* cleans up items from code review for lfu_cache and lru_cache

* [mypy] runs mypy on lfu_cache and lru_cache
2021-11-10 23:21:16 +01:00
Joyce
7e81551d7b
[mypy] fix type annotations for other/least-recently-used.py (#5811) 2021-11-10 20:55:23 +01:00
Rohan R Bharadwaj
e9882e41ba
[mypy] Fix matrix_operation.py (#5808)
* Update matrix_operation.py

* Update mypy.ini

* Update DIRECTORY.md

* formatting

* Update matrix_operation.py

* doctest for exception

* A bit more...
2021-11-10 16:22:52 +01:00
Carl-Henrik Åkeson
d6a1623448
Add solution for Project Euler problem 145 (#5173)
* Added solution for Project Euler problem 145

* Updated spelling of comments

Updated spelling inline with codespell

* Removed trailing whitespaces in comments

* Added default values.

* nr -> number

Co-authored-by: John Law <johnlaw.po@gmail.com>

* nr -> number

* Update sol1.py

* Update sol1.py

Co-authored-by: John Law <johnlaw.po@gmail.com>
2021-11-10 18:22:27 +08:00
Rohan R Bharadwaj
745f9e2bc3
[mypy] Type annotations for searches directory (#5799)
* Update ternary_search.py

* Update mypy.ini

* Update simulated_annealing.py

* Update ternary_search.py

* formatting

* formatting

* Update matrix_operation.py

* Update matrix_operation.py

* Update matrix_operation.py
2021-11-09 16:48:30 +01:00
Nivas Manduva
c3d1ff0ebd
Add Jacobi Iteration Method (#5113)
* Added Jacobi Iteration Method

Added this method in arithmetic_analysis folder. This method is used to solve system of linear equations.

* Added comments

* Added reference link

* Update jacobi_iteration_method.py

* Changes for codespell test

* Update jacobi_iteration_method.py

* Update jacobi_iteration_method.py

* Update arithmetic_analysis/jacobi_iteration_method.py

Co-authored-by: Christian Clauss <cclauss@me.com>

* updating DIRECTORY.md

* Update arithmetic_analysis/jacobi_iteration_method.py

Co-authored-by: Christian Clauss <cclauss@me.com>

* Update arithmetic_analysis/jacobi_iteration_method.py

Co-authored-by: Christian Clauss <cclauss@me.com>

* Update arithmetic_analysis/jacobi_iteration_method.py

Co-authored-by: Christian Clauss <cclauss@me.com>

* Update arithmetic_analysis/jacobi_iteration_method.py

Co-authored-by: Christian Clauss <cclauss@me.com>

* Update arithmetic_analysis/jacobi_iteration_method.py

Co-authored-by: Christian Clauss <cclauss@me.com>

* Update arithmetic_analysis/jacobi_iteration_method.py

Co-authored-by: Christian Clauss <cclauss@me.com>

* Update jacobi_iteration_method.py

* Update jacobi_iteration_method.py

* Update jacobi_iteration_method.py

* fix styles

Co-authored-by: Christian Clauss <cclauss@me.com>
Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
Co-authored-by: John Law <johnlaw.po@gmail.com>
2021-11-09 22:40:57 +08:00
Maxim Smolskiy
0b8d6d70ce
Add Project Euler problem 205 solution 1 (#5781)
* updating DIRECTORY.md

* Add solution

* updating DIRECTORY.md

* Fix

* Fix

Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
2021-11-09 22:25:29 +08:00
Rohan R Bharadwaj
ed4c92d98a
[mypy] Type annotations for graphs directory (#5798)
* Type annotations for `breadth_first_search.py`

* Type annotations for `breadth_first_search_2.py`

* Remove from excluded in mypy.ini

* Add doctest.testmod()

* Type annotations for `graphs/check_cycle.py`

* Type annotations for `graphs/greedy_min_vertex_cover.py`

* Remove from excluded in mypy.ini
2021-11-08 19:18:30 +01:00
Leoriem-code
4c9949f636
edited strings/anagram.py (#5770)
* rewrote anagrams.py, added doctests

* corrected mistakes

* add anagrams.txt

* Update anagrams.py

* Update strings/anagrams.py

Co-authored-by: Christian Clauss <cclauss@me.com>

Co-authored-by: Christian Clauss <cclauss@me.com>
2021-11-08 18:58:15 +01:00
Rohan R Bharadwaj
a8aeabdf18
[mypy] Type annotations for graphs/finding_bridges.py and graphs/random_graph_generator.py (#5795)
* [mypy] Annotate `graphs/finding_bridges.py`

* Remove from excluded in `mypy.ini`

* Add doctest.testmod()

* psf/black formatting

* Annotations for `graphs/random_graph_generator.py`

* Remove from excluded in `mypy.ini`

* Resolve merge conflict

* Resolve merge conflict

* Update mypy.ini

* Update mypy.ini

* Remove from excluded
2021-11-08 18:18:33 +01:00
Dylan Buchi
ac4bdfd66d
[mypy] Fix type annotations in graphs/boruvka.py (#5794)
* Fix type annotations in boruvka.py

* Remove graphs/boruvka.py|

* updating DIRECTORY.md

Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
2021-11-08 21:47:09 +08:00
Khoi Vo
2f6a7ae1fa
ADD the algorithms of image augmentation (#5792)
* ADD the algorithms of image augmentation

* ADD the algorithms of image augmentation

* ADD the algorithms of image augmentation

* ADD the algorithms of image augmentation

* ADD the algorithms of image augmentation

* ADD the algorithms of image augmentation

* UPDATE format code

* UPDATE format and recode structure

* UPDATE format import library

* UPDATE code structure

* Fix all checks have failded

* FIX variable format

* FIX variable format

* FIX variable format

* FIX code structure

* FIX code structure

* FIX code structure

* FIX code structure
2021-11-08 06:35:40 +01:00
Rohan R Bharadwaj
a98465230f
[mypy] Fix type annotations for maths directory (#5782)
* [mypy] Fix annotations in `maths/series/p_series.py`

* Update p_series.py

* Update p_series.py

* Remove from excluded in mypy.ini

* Type annotation for series

* Annotate maths/proth_number.py (properly)

* Remove from excluded in mypy.ini

* Annotate average_mode.py

* Update average_mode.py

* Update average_mode.py

* Update average_mode.py

* Update average_mode.py

* Remove from excluded in mypy.ini

* Fix annotations in gamma_recursive.py

* Remove from excluded in mypy.ini

* Annotations for geometric_series.py

* Update geometric_series.py

* Update mypy.ini

* Update average_mode.py

* Update average_mode.py

* Update average_mode.py

* Update mypy.ini

* Update mypy.ini

* Update mypy.ini

* Update average_mode.py

* Update proth_number.py

* Update average_mode.py

* Update gamma_recursive.py

* Update proth_number.py

* Update mypy.ini

* Update geometric_series.py

* Update average_mode.py

* Update proth_number.py

* Update geometric_series.py

* Update geometric_series.py

* Update geometric_series.py

* Update p_series.py

* Update geometric_series.py

* Update p_series.py

* Update p_series.py

* Update geometric_series.py

* Update p_series.py

* Update p_series.py

* Remove data_structures/stacks/next_greater_element.py|

Co-authored-by: Christian Clauss <cclauss@me.com>
2021-11-07 16:13:58 +01:00
Rohan R Bharadwaj
db5aa1d188
Add equated_monthly_installments.py in Financials (#5775)
* Add equated_monthly_installments.py in Financials

* Formatting

* More formatting, Descriptive names

* Errors with name change

* Formatting

* Formatting, Naming Error

* dedent

* Update DIRECTORY.md
2021-11-07 15:40:23 +01:00
Rohan R Bharadwaj
accee50cde
[mypy] Fix other/fischer_yates_shuffle.py (#5789)
* [mypy] Fix `other/fischer_yates_shuffle.py`

* Update mypy.ini
2021-11-07 11:14:42 +01:00
Christian Clauss
8ac86f2ce5
mypy: Exclude only 20 files that are still failing (#5608)
* DRAFT: Run a mypy reality check

Let's see what is required to finish  #4052

* mypy --ignore-missing-imports --install-types --non-interactive

* Check our progress...

* Update build.yml

* Update build.yml

* Update build.yml

* Update build.yml

* mypy --exclude 20 files

* --exclude with no `=`

* Update build.yml

* 558 character regex!!!

* With quotes

* mypy.ini: mega exclude

* Update mypy.ini

* Update build.yml

* Update mypy.ini

* Update build.yml

* Update mypy.ini

* .py --> .p*

* Escape the dots!: `.` --> `\.`

* Remove the comment

* Leading slash

* Update mypy.ini

Co-authored-by: Dylan Buchi <devybuchi@gmail.com>

Co-authored-by: Dylan Buchi <devybuchi@gmail.com>
2021-11-06 13:58:15 +01:00
Dylan Buchi
e7381b513b
[mypy] Fix type annotations in data_structures/stacks/next_greater_element.py (#5763)
* Fix type annotations in next_greater_element.py

* Refactor next_greater_element.py
2021-11-05 20:45:37 +01:00
Maxim Smolskiy
1a43c92c77
Improve Project Euler problem 043 solution 1 (#5772)
* updating DIRECTORY.md

* Fix typo

* Improve solution

Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
2021-11-05 20:44:24 +01:00
Rohan R Bharadwaj
48960268a2
Improve Project Euler Problem 10 Sol-1 (#5773)
* Improve Project Euler Problem 10 Sol-1

* Name correction

* psf/black formatting

* More formatting
2021-11-05 20:43:52 +01:00
Leoriem-code
6b2b476f86
fix typo on line 126 (#5768) 2021-11-05 06:06:37 +01:00
Boris Galochkin
dbddac74d3
Fix graphs/finding_bridges.py algorithm + doctests (#5765)
* Fix finding_bridges algorithms + tests

* update type hints

* Better, more obvious condition fix

* fix prev commit + more tests

* Short explanation + url

* Update finding_bridges.py

Co-authored-by: Christian Clauss <cclauss@me.com>
2021-11-04 17:51:31 +01:00
Snimerjot Singh
7390777f9a
Added 2 shaped in volume.py (#5560) 2021-11-04 17:08:18 +01:00