Commit Graph

2642 Commits

Author SHA1 Message Date
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
Maxim Smolskiy
729aaf6427
Improve Project Euler problem 014 solution 2 (#5744)
* Improve solution

* Uncomment code that has been commented due to slow execution affecting Travis

* Fix

* scikit-fuzzy is causing broken builds

* fuzz = None

* Update fuzzy_operations.py

Co-authored-by: Christian Clauss <cclauss@me.com>
2021-11-04 17:01:21 +01:00
Dylan Buchi
7a605766fe
[mypy] Fix type annotations in data_structures/binary_tree/red_black_tree.py (#5739)
* [mypy] Fix type annotations in red_black_tree.py

* Remove blank lines

* Update red_black_tree.py
2021-11-04 16:38:43 +01:00
Maxim Smolskiy
e835e96856
Improve Project Euler problem 014 solution 1 (#5747)
* Improve solution

* Uncomment code that has been commented due to slow execution affecting Travis

* Fix
2021-11-04 16:37:47 +01:00
Jaydeep Das
b6eb448e63
Added reddit.py to get data from reddit (#5698)
* Rewritten reddit.py

* Removed logging module import

* Fixed minor bug which was causing extreme rate limiting

* Update reddit.py

* Update reddit.py

* Update reddit.py

Co-authored-by: Christian Clauss <cclauss@me.com>
2021-11-04 16:36:22 +01:00
Sailesh Shrestha
3815a97575
Add all_construct dynamic programming implementation (#5626)
* Add all_construct dynamic programming implementation

* all_construct: remove the main function

* all_construct: Add type hints

* all_construct: changed map to list comprehension,fix mutable default arguments

* all_construct: fixed type hints

* all_construct: cleaner code for initializing word_bank argument

* all_construct: added an import for annotations

* all_construct: added None in the argument with word_bank

* all_construct: fixed a type hint

* all_construct: Fixed some more type hints
2021-11-04 16:18:38 +01:00
Leoriem-code
47dd31f4a1
Add README files 1/7 (#5754)
* Added 5 README files

* corrected arithmetic_analysis README

* Update audio_filters/README.md

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

* Update backtracking/README.md

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

* Update bit_manipulation/README.md

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

Co-authored-by: John Law <johnlaw.po@gmail.com>
2021-11-04 18:49:36 +08:00
Divyesh Vishwakarma
9655ec2a05
Added newtons_second_law_of_motion.py (#5474) 2021-11-04 18:48:57 +08:00
Dylan Buchi
331fe6d3bc
[mypy] Fix type annotations in data_structures/binary_tree/lowest_common_ancestor.py (#5757)
* Fix type annotations in lowest_common_ancestor.py

* Refactor line 53 in lowest_common_ancestor.py
2021-11-03 21:34:08 +01:00
Andrew Grangaard
7954a3ae16
[mypy] Fixes typing errors in other/dpll (#5759)
+ As per usage examples, clause literals are a list of strings.
  + Note: symbols extracted from literals are expected to be exactly two characters.
+ self.literal boolean values are initialized to None, so must be optional
+ model values should be Booleans, but aren't guaranteed to be non-None
  in the code.
+ uses newer '... | None' annotation for Optional values
+ clauses are passed to the Formula initializer as both lists and sets, they
  are stored as lists.  Returned clauses will always be lists.
+ use explicit tuple annotation from __future__  rather than using (..., ...)
  in return signatures
+ mapping returned by dpll_algorithm is optional per the documentation.
2021-11-03 21:32:49 +01:00