Dmytro Litvinov
5903948cf3
Fixes : #2404 . Fix PIL DeprecationWarnings in pytest output ( #2678 )
2020-10-03 09:22:22 +02:00
Du Yuanchao
9b3f7c36d0
Test random input for bubble sort ( #2492 )
2020-10-02 13:55:58 +08:00
Eugeniy Orlov
2388bf4e17
Add type hints to strings/min_cost_string_conversion.py ( #2337 )
...
* done
* add types for local variables
* Revert "add types for local variables"
This reverts commit 971c15673b
.
* rename variables
* Update strings/min_cost_string_conversion.py
Co-authored-by: Christian Clauss <cclauss@me.com>
* rename strings
* use flake8
* Update strings/min_cost_string_conversion.py
Co-authored-by: Christian Clauss <cclauss@me.com>
2020-10-01 09:04:31 +08:00
Du Yuanchao
2fa009aa53
Fix bucket sort ( #2494 )
...
* fixed bucket sort
* delete blank line
2020-10-01 08:53:42 +08:00
Christian Clauss
ddfa9e4f22
Travis CI: Remove redundant tests ( #2523 )
...
* Travis CI: Remove redundant tests
* fixup! before_script
* updating DIRECTORY.md
Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
2020-09-30 19:26:38 +02:00
Dhruv
7a502708e0
Add badges for code style and pre-commit in README.md ( #2516 )
...
* Add badges for code style and pre-commit
* Update badge style to flat-square
* Update Gitpod logo style to flat-square
2020-09-30 16:40:20 +02:00
Dhruv
acaeb22bbd
Add GitHub action for pre-commit ( #2515 )
...
* Add GitHub action file for pre-commit
* Fix errors exposed by pre-commit hook:
- Remove executable bit from files without shebang. I checked those
file and it was not needed.
- Fix with black
* Apply suggestions from code review
Co-authored-by: Christian Clauss <cclauss@me.com>
Co-authored-by: Christian Clauss <cclauss@me.com>
2020-09-30 15:23:34 +02:00
Dhruv
ae65f55de3
Add pre-commit hook for TheAlgorithms/Python ( #2511 )
...
* Add pre-commit basic config file
* Add pre-commit to requirements.txt
* Small tweaks and use stable for black
* Fix isort section in pre-commit-config file
* Fix errors and EOF only for Python files
2020-09-30 10:39:14 +02:00
Dhruv
0a42ae9095
Fix all errors mentioned in pre-commit run ( #2512 )
...
* Fix all errors mentioned in pre-commit run:
- Fix end of file
- Remove trailing whitespace
- Fix files with black
- Fix imports with isort
* Fix errors
2020-09-30 10:38:00 +02:00
YOGESHWARAN R
e6e2dc69d5
Create instagram_crawler.py ( #2509 )
...
* Create instagram_crawler.py
* codespell --ignore-words-list=followings
* Update web_programming/instagram_crawler.py
Co-authored-by: Christian Clauss <cclauss@me.com>
* Update web_programming/instagram_crawler.py
Co-authored-by: Christian Clauss <cclauss@me.com>
* Update web_programming/instagram_crawler.py
Co-authored-by: Christian Clauss <cclauss@me.com>
* Update web_programming/instagram_crawler.py
Co-authored-by: Christian Clauss <cclauss@me.com>
* Update web_programming/instagram_crawler.py
Co-authored-by: Christian Clauss <cclauss@me.com>
* Update web_programming/instagram_crawler.py
Co-authored-by: Christian Clauss <cclauss@me.com>
* Update web_programming/instagram_crawler.py
Co-authored-by: Christian Clauss <cclauss@me.com>
* Update instagram_crawler.py
* Add doctests
* fixup! except (json.decoder.JSONDecodeError, KeyError):
* if getenv("CONTINUOUS_INTEGRATION"): return
* Update instagram_crawler.py
* Update web_programming/instagram_crawler.py
Co-authored-by: Dhruv <dhruvmanila@gmail.com>
* added fake_useragent
* Update instagram_crawler.py
* Comment out doctests
Co-authored-by: Christian Clauss <cclauss@me.com>
Co-authored-by: Dhruv <dhruvmanila@gmail.com>
2020-09-29 18:04:55 +02:00
Lewis Tian
e166350509
Update sorts/quick_sort_3_partition.py ( #2507 )
...
* Update sorts/quick_sort_3partition.py
Another quick sort algorithm, returns a new sorted list
* Update sorts/quick_sort_3_partition.py
rename quick_sort_3partition to quick_sort_3part
* Update sorts/quick_sort_3_partition.py
rename quick_sort_3part to three_way_radix_quicksort
Three-way radix quicksort:
https://en.wikipedia.org/wiki/Quicksort#Three-way_radix_quicksort
First divide the list into three parts.
Then recursively sort the "less than" and "greater than" partitions.
* Update sorts/quick_sort_3_partition.py
Co-authored-by: Christian Clauss <cclauss@me.com>
Co-authored-by: Christian Clauss <cclauss@me.com>
2020-09-29 13:55:48 +02:00
Guillaume Rochedix
d95d643351
Heaps algorithm ( #2475 )
...
* heaps_algorithm: new algo
* typo
* correction doctest
* doctests: compare with itertools.permutations
* doctest: sorted instead of set
* doctest
* doctest
* rebuild
2020-09-29 12:39:07 +02:00
Guillaume Rochedix
04322e67e5
Heaps algorithm iterative ( #2505 )
...
* heap's algorithm iterative
* doctest
* doctest
* rebuild
2020-09-29 12:38:12 +02:00
Dhruv
9016fe192f
Fix imports for all namespace packages ( #2506 )
...
* Fix imports as they're namespace packages
* Fix import for scripts/validate_filenames.py
* Fix path in doctest
2020-09-28 23:41:04 +02:00
Dhruv
48357cea5b
Add __init__.py files in all the directories ( #2503 )
2020-09-28 19:42:36 +02:00
Lewis Tian
121dddc7f2
Update maths/area.py ( #2501 )
...
the parameters of geometric shapes should be non-negative values
2020-09-28 22:40:47 +08:00
xcodz-dot
1b637ba8ed
Create vector3_for_2d_rendering.py ( #2496 )
...
* Create vector3_for_2d_rendering.py
Edited for passing travis test
* Delete vector3_for_2d_rendering.py
* Create vector3_for_2d_rendering.py
* Update vector3_for_2d_rendering.py
Compressed the line 19 to 28 into 19 to 21
* Update vector3_for_2d_rendering.py
* Update vector3_for_2d_rendering.py
* Update vector3_for_2d_rendering.py
completly corrected pep8 errors using Pycharm IDE
* Update vector3_for_2d_rendering.py
* Update graphics/vector3_for_2d_rendering.py
Co-authored-by: Dhruv <dhruvmanila@gmail.com>
* Update graphics/vector3_for_2d_rendering.py
Co-authored-by: Dhruv <dhruvmanila@gmail.com>
* Update graphics/vector3_for_2d_rendering.py
Co-authored-by: Dhruv <dhruvmanila@gmail.com>
* Update vector3_for_2d_rendering.py
* Update vector3_for_2d_rendering.py
* Update graphics/vector3_for_2d_rendering.py
Co-authored-by: Christian Clauss <cclauss@me.com>
* Update graphics/vector3_for_2d_rendering.py
Co-authored-by: Christian Clauss <cclauss@me.com>
* Apply suggestions from code review
Co-authored-by: Christian Clauss <cclauss@me.com>
* Update vector3_for_2d_rendering.py
Added A few extra names to __author__ 😄
* Update vector3_for_2d_rendering.py
Used Pycharm to fix PEP8 errors, doctest errors
* Update vector3_for_2d_rendering.py
Added enough doctests
* Update graphics/vector3_for_2d_rendering.py
Co-authored-by: Christian Clauss <cclauss@me.com>
* Remove second main()
Co-authored-by: Dhruv <dhruvmanila@gmail.com>
Co-authored-by: Christian Clauss <cclauss@me.com>
2020-09-28 11:43:34 +02:00
Dhruv
ceacfc6079
Add algorithm for testing Project Euler solutions ( #2471 )
...
* Add file for testing Project Euler solutions
* Remove the importlib import
* Update project_euler/solution_test.py
Co-authored-by: Christian Clauss <cclauss@me.com>
* Small tweaks to project_euler/solution_test.py
* Test Project Euler solutions through Travis
* Improved testing for Project Euler solutions:
- Renamed file so that it isn't picked up by pytest
- Fail fast on validating solutions through Travis CI
* Update validate_solutions.py
* Use namedtuple for input parameters and answer
- Remove logging
- Remove unnecessary checks for PROJECT_EULER_PATH as Travis CI
picks up the same path
* Fix flake8 errors: line too long
* Small tweaks to validate_solutions.py
* Add all answers & back to using dictionary
* Using pytest for testing Project Euler solutions
- As we want to fail fast on testing solutions, we need to test using
this script first before we use tests written by the author.
- As pytest stops testing as soon as it receives a traceback, we need to
use pytest-subtests to tell pytest to test all the iterations for the
function with given parameters.
* Print error messages in oneline format
* Separated answers into a separate file:
- Add custom print function to print all the error messages at the
end of all the tests
- Let Travis skip if this failed
Co-authored-by: Christian Clauss <cclauss@me.com>
2020-09-28 08:18:19 +02:00
Dhruv
187e8ccc95
Small fix ( #2498 )
2020-09-27 15:05:09 +02:00
Du Yuanchao
8904af98a1
Optimization for pangram string ( #2473 )
...
* optimization for pangram string
* fixup! Format Python code with psf/black push
* Update strings/check_pangram.py
Co-authored-by: Christian Clauss <cclauss@me.com>
* updating DIRECTORY.md
* Update strings/check_pangram.py
Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
Co-authored-by: Christian Clauss <cclauss@me.com>
2020-09-26 22:58:59 +08:00
Abdoulaye Balde
7446e69571
Gradient Boosting Regressor ( #2298 )
...
* Stock market prediction using greadient boosting
* To reverse a string using stack
* To reverse string using stack
* Predict Stock Prices Python & Machine Learning
* Gradient boosting regressor on boston dataset
* Gradient boosting regressor implementation
* Gradient boosting regressor
* Gradient boosting regressor
* Gradient boosting regressor
* Removing files
* GradientBoostingRegressor example
* Demo Gradient Boosting
* Demo Gradient boosting
* demo of gradient boosting
* gradient boosting demo
* Fix spelling mistake
* Fix formatting
Co-authored-by: John Law <johnlaw.po@gmail.com>
2020-09-26 16:58:29 +02:00
Du Yuanchao
7f48bb8c95
Updated circular_linked_list ( #2483 )
...
* Updated circular_linked_list
* fixup! Format Python code with psf/black push
* Update data_structures/linked_list/circular_linked_list.py
Co-authored-by: Christian Clauss <cclauss@me.com>
* updating DIRECTORY.md
* delete print_list()
* test is_empty()
* test is_empty return False
* fixup! Format Python code with psf/black push
* fixed indentation
* fixup! Format Python code with psf/black push
Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
Co-authored-by: Christian Clauss <cclauss@me.com>
2020-09-26 22:57:09 +08:00
Christian Clauss
db0db01d87
Use self-documenting option instead of cryptic option ( #2487 )
...
* Use self-documenting option instead of cryptic option
@mateuszz0000 Your review, please. Pretend that you do not know what `-L` stands for. How many keystrokes and clicks does it take to confirm the purpose of this option?
* updating DIRECTORY.md
Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
2020-09-26 16:54:41 +02:00
Du Yuanchao
72fe611462
Updated lower and upper ( #2468 )
...
* update lower and upper
* fixup! Format Python code with psf/black push
Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
2020-09-26 01:58:40 +08:00
Thomas Voss
e92cd9d5c5
Update morse_code_implementation.py ( #2386 )
...
* Update morse_code_implementation.py
Added more characters to MORSE_CODE_DICT for a more complete dictionary.
Split words with "/" instead of a space as is standard.
Fixed bug when encrypting a message with a comma.
* Fixed comment typo
2020-09-25 19:03:15 +02:00
Du Yuanchao
b81fcef66b
Fixed linked list bug ( #2481 )
...
* * fixed __getitem__() function
* add test
* * updated doctests
* updated __setitem__() func
* fixup! Format Python code with psf/black push
Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
2020-09-25 18:08:57 +02:00
Du Yuanchao
18f1dcd48a
Updated singly_linked_list ( #2477 )
...
* Updated singly_linked_list
* fixup! Format Python code with psf/black push
* undo __repr__
* updating DIRECTORY.md
* UNTESTED CHANGES: Add an .__iter__() method.
This will break tests, etc.
* fixup! Format Python code with psf/black push
* len(tuple(iter(self)))
* fixed __repr__()
* Update data_structures/linked_list/singly_linked_list.py
Co-authored-by: Christian Clauss <cclauss@me.com>
* Update data_structures/linked_list/singly_linked_list.py
Co-authored-by: Christian Clauss <cclauss@me.com>
* Update data_structures/linked_list/singly_linked_list.py
Co-authored-by: Christian Clauss <cclauss@me.com>
* Update data_structures/linked_list/singly_linked_list.py
Co-authored-by: Christian Clauss <cclauss@me.com>
* Update data_structures/linked_list/singly_linked_list.py
Co-authored-by: Christian Clauss <cclauss@me.com>
* Update data_structures/linked_list/singly_linked_list.py
Co-authored-by: Christian Clauss <cclauss@me.com>
* Update data_structures/linked_list/singly_linked_list.py
Co-authored-by: Christian Clauss <cclauss@me.com>
Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
Co-authored-by: Christian Clauss <cclauss@me.com>
2020-09-25 16:09:29 +02:00
Du Yuanchao
a196a36514
Fixed bugs ( #2474 )
...
* fixed bug
* fixup! Format Python code with psf/black push
Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
2020-09-25 15:20:09 +02:00
Abdujabbar Mirkhalikov
53c2a24587
added type hints and doctests for minimax algorithm ( #2478 )
...
* added type hints and doctests for minimax algorithm
* Update backtracking/minimax.py
Co-authored-by: Christian Clauss <cclauss@me.com>
* last fix
Co-authored-by: Christian Clauss <cclauss@me.com>
2020-09-25 15:16:05 +02:00
Kushagra Bansal
daa1b4d70f
Created problem_97 in project euler ( #2476 )
...
* Create __init__.py
* Add files via upload
* Update sol1.py
* Update sol1.py
* Update sol1.py
* Update project_euler/problem_97/sol1.py
Co-authored-by: Christian Clauss <cclauss@me.com>
* Update sol1.py
* Update project_euler/problem_97/sol1.py
Co-authored-by: Christian Clauss <cclauss@me.com>
Co-authored-by: Christian Clauss <cclauss@me.com>
2020-09-25 11:52:19 +02:00
Guillaume Rochedix
f564c9d7c6
Wiggle sort ( #2419 )
...
* wiggle sort : type hint + doctest
* fixed function name in docstring
* correction
2020-09-25 09:18:00 +02:00
Dhruv
08eb1efafe
Add solution() for problem 54 of Project Euler ( #2472 )
...
* Add solution() for problem 54 of Project Euler
* Add type hints for solution() function
2020-09-24 15:16:55 +02:00
Du Yuanchao
3a275caf01
Fixed remove duplicate ( #2470 )
...
* fixed remove duplicate
* fixup! Format Python code with psf/black push
Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
2020-09-24 19:14:52 +08:00
Du Yuanchao
902fe1c907
Fixed reverse words algorithm ( #2469 )
...
* updated reversed words
* fixup! Format Python code with psf/black push
Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
2020-09-24 19:12:52 +08:00
Vivek
4a3b8d682e
Added binary_xor_operator.py and binary_and_operator.py ( #2433 )
...
* Added binary_and_operator.py & binary_xor_operator.py
* Updated binary_and_operator.py
* Updated binary_xor_operator.py
* Updated binary_xor_operator.py
2020-09-24 09:30:22 +02:00
spamegg
5f9be0a613
Add Python type hints and doctests to other/two_sum.py ( #2467 )
...
* Add Python type hints and doctests to other/two_sum.py
#2465
* Update other/two_sum.py
Co-authored-by: Christian Clauss <cclauss@me.com>
* Update other/two_sum.py
Co-authored-by: Christian Clauss <cclauss@me.com>
* Update two_sum.py
Co-authored-by: Christian Clauss <cclauss@me.com>
2020-09-23 21:55:51 +02:00
Christian Clauss
9200a2e543
from __future__ import annotations ( #2464 )
...
* from __future__ import annotations
* fixup! from __future__ import annotations
* fixup! from __future__ import annotations
* fixup! Format Python code with psf/black push
Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
2020-09-23 13:30:13 +02:00
Dhruv
6e6a49d19f
Config Travis CI for two jobs ( #2463 )
...
* Testing Travis CI configuration for project Euler
* Fix: Installing mypy and pytest-cov for testing
* Remove unnecessary checks for project_euler job
* Removing branches section
* Update .travis.yml
* Update .travis.yml
* Update .travis.yml
* Update .travis.yml
Co-authored-by: Christian Clauss <cclauss@me.com>
2020-09-23 13:24:32 +02:00
Du Yuanchao
a1ea76bcf3
Optimization problem_10 in project_euler ( #2453 )
...
* optimization for problem09 in project_euler
* added benchmark code
* fixup! Format Python code with psf/black push
* Update project_euler/problem_09/sol1.py
Co-authored-by: Christian Clauss <cclauss@me.com>
* updating DIRECTORY.md
* Update project_euler/problem_09/sol1.py
* fixup! Format Python code with psf/black push
Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
Co-authored-by: Christian Clauss <cclauss@me.com>
2020-09-22 15:15:11 +02:00
Abhinav Anand
718be54dbb
Update sol1.py ( #2455 )
2020-09-20 21:33:26 +02:00
Dhruv
ea0759dbaa
Create problem_54 in project Euler ( #2451 )
...
* Add solution and test files for project euler 54
* Update sol1.py
* updating DIRECTORY.md
* Fix: use proper path to open files
* Commit suggestions:
- Use list comprehension instead of map
- Sort imports using isort
* Changes made as suggested (simplified a lot):
- List and set comprehension instead of itemgetter
- Using enumerate as it's easy to read
- Divided into list of card values and set of card suit as set will
remove all the duplicate values. So, no need for double indexing.
- Add test for testing multiple calls to five_high_straight function
* Add suggestions and simplified:
- Split generate_random_hands function into two:
- First will generate a random hand
- Second, which will be called, will return a generator object
Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
2020-09-20 13:52:13 +02:00
Susmith98
9b73884def
Added a function that checks if given string can be rearranged to form a palindrome. ( #2450 )
...
* Added check_if_string_can_be_rearranged_as_palindrome function.
* Added counter implementation and benchmark function.
* flake changes
* Update and rename check_if_string_can_be_converted_to_palindrome.py to can_string_be_rearranged_as_palindrome.py
* Update can_string_be_rearranged_as_palindrome.py
* #
Co-authored-by: svedire <VedireSusmith_Reddy@intuit.com>
Co-authored-by: Christian Clauss <cclauss@me.com>
2020-09-19 21:49:37 +02:00
Christian Clauss
b05081a717
Update and rename bin_to_octal.py to binary_to_octal.py ( #2449 )
...
* Update and rename bin_to_octal.py to binary_to_octal.py
* fixup! Format Python code with psf/black push
Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
2020-09-19 14:58:08 +08:00
mohammadreza490
b22596cd96
bin_to_octal ( #2431 )
...
* bin_to_octal
Converts binary values to the octal equivalent.
* Update bin_to_octal
* Update conversions/bin_to_octal
Co-authored-by: Christian Clauss <cclauss@me.com>
* Update conversions/bin_to_octal
Co-authored-by: Du Yuanchao <shellhub.me@gmail.com>
* Update conversions/bin_to_octal
Co-authored-by: Du Yuanchao <shellhub.me@gmail.com>
* Update conversions/bin_to_octal
Co-authored-by: Du Yuanchao <shellhub.me@gmail.com>
* Rename bin_to_octal to bin_to_octal.py
Co-authored-by: Christian Clauss <cclauss@me.com>
Co-authored-by: Du Yuanchao <shellhub.me@gmail.com>
2020-09-19 13:36:56 +08:00
Christian Clauss
697495b017
Fix copy / paste oversight ( #2448 )
2020-09-19 07:25:18 +02:00
Christian Clauss
363858ef3b
hyphen_files = [file for file in filepaths if "-" in file] ( #2447 )
...
* hyphen_files = [file for file in filepaths if "-" in file]
* updating DIRECTORY.md
* Rename recursive-quick-sort.py to recursive_quick_sort.py
* updating DIRECTORY.md
* Rename aho-corasick.py to aho_corasick.py
* updating DIRECTORY.md
* Rename polynom-for-points.py to polynom_for_points.py
* updating DIRECTORY.md
Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
2020-09-19 07:13:10 +02:00
kanthuc
ecac7b0973
Contains loops.py add ( #2442 )
...
* added an algorithm which checks a linked list for loops and returns true if one is found
* added doctests and clarified meaning of loop
* Define Node.__iter__()
* Update and rename has_loop.py to has_duplicate_data.py
* Update has_duplicate_data.py
* Update has_duplicate_data.py
* Update and rename has_duplicate_data.py to has_loop.py
* Update has_loop.py
Co-authored-by: Christian Clauss <cclauss@me.com>
2020-09-18 22:53:50 +02:00
Du Yuanchao
dc415ec14a
Added double linear search recursion ( #2445 )
...
* double linear search recursion
* fixup! Format Python code with psf/black push
Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
2020-09-18 09:55:02 +02:00
avych
0dea049f44
Added static type checking to polynom-for-points.py towards issue #2128 ( #2335 )
...
* Added static type checking to linear_algebra/src/polynom-for-points.py
* Fixed TravisCI errors
* Update polynom-for-points.py
Co-authored-by: Christian Clauss <cclauss@me.com>
2020-09-18 08:37:49 +02:00
Du Yuanchao
2de2267319
Updated problem_06 in Project Euler ( #2439 )
...
* * rename variable
* fix type hint
* fix doctest
* added test function
* fixed import error
* fixup! Format Python code with psf/black push
Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
2020-09-17 11:37:53 +02:00