Commit Graph

3379 Commits

Author SHA1 Message Date
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
Maxim Smolskiy
765be4581e
Improve Project Euler problem 012 solution 2 (#5760)
* Improve solution

* updating DIRECTORY.md

Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
2021-11-03 21:32:10 +01:00
Souvik Ghosh
0ea5c734e1
sock_merchant.py: Matching socks by color (#5761)
* Python file for finding number of pairs

* updating DIRECTORY.md

* fixed iterative_pair.py

* further fixed with type casting

* fixed naming conventions

* further fixed with naming convention

* documented done

* build issue fixed

* updating DIRECTORY.md

* Revert "documented done"

This reverts commit 3be15ca374.

* Update canny.py

* Update test_digital_image_processing.py

* Update sobel_filter.py

* requirements.txt fixed

* keras<2.7.0

* Update sock_merchant.py

* doctest with black fixed

* Update sock_merchant.py

Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
Co-authored-by: Christian Clauss <cclauss@me.com>
2021-11-03 21:24:50 +01:00
Vɪɴᴀʏᴀᴋ Pᴀɴᴅᴇʏ
85ee27687a
Add Hexagonal Numbers in directory (#5696)
Yesterday hexagonal_numbers.py was created. Added that file in this list(maths/series/hexagonal_numbers.py)
2021-11-03 18:32:17 +08:00
Maxim Smolskiy
37bc6bdebf
Replace Travis CI mentions with GitHub actions (#5751) 2021-11-02 22:28:09 +01:00
Leoriem-code
60ad32920d
fixed typo for codespell (#5753) 2021-11-02 22:17:57 +01:00
Maxim Smolskiy
dd19d8120d
Uncomment code that has been commented due to slow execution affecting Travis (#5745) 2021-11-02 14:07:07 +01:00
krishchopra02
0124b73484
Add a gray_code_sequence.py file to the bit_manipulation folder (#5038)
* Added a gray_code_sequence.py file to the bit_manipulation folder

* Added a descriptive name for variable n changing it to bit count

* Update gray_code_sequence.py

Co-authored-by: krishchopra02 <krishchopra02@gmail.com>
Co-authored-by: John Law <johnlaw.po@gmail.com>
2021-11-02 18:13:49 +08:00
Rohan R Bharadwaj
bdd135d403
Split base85.py into functions, Add doctests (#5746)
* Update base16.py

* Rename base64_encoding.py to base64.py

* Split into functions, Add doctests

* Update base16.py
2021-11-02 11:10:25 +01:00
Dylan Buchi
24731b078c
[mypy] fix type annotations in data_structures/queue/circular_queue_linked_list.py (#5749)
* [mypy] fix type annotations in circular_queue_linked_list

* Remove 10 blank lines

Co-authored-by: Christian Clauss <cclauss@me.com>
2021-11-02 11:09:46 +01:00
Matthew Wisdom
3c8fec1316
Add Neville's algorithm for polynomial interpolation (#5447)
* Added nevilles algorithm for polynomial interpolation

* Added type hinting for neville_interpolate function arguments.

* Added more descriptive names

* Update nevilles_method.py

* Fixed some linting issues

* Fixed type hinting error

* Fixed nevilles_method.py

* Add ellipsis for doctest spanning multiple lines

* Update nevilles_method.py

Co-authored-by: John Law <johnlaw.po@gmail.com>
2021-11-02 18:07:36 +08:00
Mozartus
424c200847
Add gabor filter (#5289)
* add gabor_filter.py

* Update gabor_filter.py

* update gabor_filter.py

* add doctest

* change import order

* Update digital_image_processing/filters/gabor_filter.py

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

* Update gabor_filter.py

* fix gabor filter calculation

Co-authored-by: John Law <johnlaw.po@gmail.com>
2021-11-02 18:06:39 +08:00
Rohan R Bharadwaj
5910c3aa78
Typo (#5750) 2021-11-02 10:20:55 +01:00
Brian Evans
dc6e77338c
Add stone unit of measuring weight (#5730)
* Add stone unit of measuring weight

And some tests in the docs using an external calculator. Not yet tested if they pass.

* Fix rounding descrepencies in doctests to pass tests
2021-11-02 00:09:40 +01:00