Commit Graph

3431 Commits

Author SHA1 Message Date
Du Yuanchao
a03b3f763f
Balanced parentheses (#3768)
* Fixed balanced_parentheses.py

* fixed pre-commit

* eliminate is_paired

* remove unused line

* updating DIRECTORY.md

* Update data_structures/stacks/balanced_parentheses.py

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

* Add more test cases

* Update data_structures/stacks/balanced_parentheses.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-10-29 10:39:19 +01:00
Joyce
a6831c898a
math/greatest_common_divisor: add support for negative numbers (#2628)
* add type hints to math/gcd

* add doctest

* math/gcd - run black formatter

* math/gcd: remove manual doctest

* add correction to gcd of negative numbers

* add more doctest in iterative gcd
2020-10-29 12:47:26 +05:30
PetitNigaud
99adac0eb1
Add first solution for Project Euler Problem 207 (#3522)
* add solution to Project Euler problem 206

* Add solution to Project Euler problem 205

* updating DIRECTORY.md

* updating DIRECTORY.md

* Revert "Add solution to Project Euler problem 205"

This reverts commit 64e3d36cab.

* Revert "add solution to Project Euler problem 206"

This reverts commit 53568cf4ef.

* add solution for project euler problem 207

* updating DIRECTORY.md

* add type hint for output of helper function

* Correct default parameter value in solution

* use descriptive variable names and remove problem solution from doctest Fixes: #2695

Co-authored-by: nico <esistegal-aber@gmx.de>
Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
2020-10-29 12:34:42 +05:30
fpringle
9971f981a1
Added solution for Project Euler problem 87. (#3141)
* Added solution for Project Euler problem 87. Fixes: #2695

* Update docstring and 0-padding in directory name. Reference: #3256
2020-10-29 12:19:33 +05:30
Marcos Vinicius
a1e9656eca
Hacktoberfest: adding doctest to radix_sort.py file (#2779)
* adding doctest to radix_sort.py file

* fixup! Format Python code with psf/black push

* Update radix_sort.py

* Update radix_sort.py

* fixup! Format Python code with psf/black push

* Update radix_sort.py

* line

* fix tests

Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
Co-authored-by: John Law <johnlaw.po@gmail.com>
2020-10-29 11:09:39 +08:00
sharmapulkit04
e172a8b08b
Hacktoberfest: Added first solution to Project Euler problem 58 (#3599)
* Added solution to problem 58

* Update sol1.py

Co-authored-by: John Law <johnlaw.po@gmail.com>
2020-10-29 10:03:55 +08:00
Simon Lammer
e20895a4ff
Implement the melkman anlgorithm for computing convex hulls (#2916)
* Implement the melkman anlgorithm for computing convex hulls

* Link melkman algorithm description

* Format melkman algorithm code

* Add type hints to functions

* Fix build errors
2020-10-29 08:46:16 +08:00
Abhinand C
fd7da5ff8f
Add IBM Qiskit References (#2561)
* Added IBM Qiskit References

* space

Co-authored-by: John Law <johnlaw.po@gmail.com>
2020-10-29 08:43:34 +08:00
Lewis Tian
4fa8c9d4b4
Update graphs/depth_first_search_2.py (#3799)
- update naming style to snake_case
- add type hints
2020-10-29 08:35:31 +08:00
Snimerjot Singh
aebf9bdaaf
Added reverse_letters.py (#3730)
* Added reverse_letters.py

* Update strings/reverse_letters.py

Co-authored-by: Du Yuanchao <shellhub.me@gmail.com>

Co-authored-by: Du Yuanchao <shellhub.me@gmail.com>
2020-10-27 12:05:37 +08:00
John Law
a5aef147e9
Fix Project Euler Readme (#3754)
* Fix Project Euler Readme

* updating DIRECTORY.md

* Update CONTRIBUTING.md

* spacing

Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
2020-10-26 21:18:57 +05:30
Shabab Karim
95db17ce0f
Added two pointer solution for two sum problem (#3468) 2020-10-26 11:08:53 +01:00
Gaurav Chaudhari
9eefe681af
fixes: #2969 (#3756)
Signed-off-by: Gaurav Chaudhari <capristar02@gmail.com>
2020-10-26 08:09:33 +01:00
Rolv Apneseth
8f81c460fe
Made improvements to combinations.py (#3681)
* Made improvements to combinations.py

* Update maths/combinations.py

Co-authored-by: Du Yuanchao <shellhub.me@gmail.com>

* Function now raises an error when given invalid input

* Update maths/combinations.py

Co-authored-by: Du Yuanchao <shellhub.me@gmail.com>
2020-10-26 14:48:06 +08:00
xcodz-dot
47199c123c
Update CONTRIBUTING.md (#3698)
* Update CONTRIBUTING.md

Needed to tell people so we do not receive any duplicate solution. Do not count this as hactoberfest-accepted

* Update CONTRIBUTING.md

* Update CONTRIBUTING.md

typo fix

Co-authored-by: Du Yuanchao <shellhub.me@gmail.com>

* Update CONTRIBUTING.md

Co-authored-by: Du Yuanchao <shellhub.me@gmail.com>
Co-authored-by: John Law <johnlaw.po@gmail.com>
2020-10-26 14:35:49 +08:00
Kushagra Bansal
b93a9d8e8f
Update lucas_series.py to include another method (#3620)
* Update lucas_series.py

Added another method to calculate lucas_numbers

* Fix pre-commit error

* Update lucas_series.py

* Update lucas_series.py

* Update lucas_series.py

* Update lucas_series.py
2020-10-26 09:37:11 +05:30
Du Yuanchao
81b82bea47
Update ceil and floor function (#3710)
* Update ceil and floor function

* add end line

* updating DIRECTORY.md

Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
2020-10-26 00:02:24 +08:00
Phil Bazun
1b5c1b8344
Add single bit manipulation operations. (#3284)
* Add single bit manipuation operations.

* fixup! Add single bit manipuation operations.

* Change wording.
2020-10-25 10:24:35 +01:00
Ayoub Chegraoui
3a191d9a7c
Add solution to Project Euler problem 81 (#3408)
* Add solution to problem 81 - project euler

* Update project_euler/problem_081/sol1.py

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

* Update project_euler/problem_081/sol1.py

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

Co-authored-by: Christian Clauss <cclauss@me.com>
2020-10-25 09:36:31 +05:30
Michael D
98e9d6bdb6
Fix style of the first ten solutions for Project Euler (#3242)
* Fix style of the first ten solutions for Project Euler

- Unify the header docstring, and add reference URLs to wikipedia
  or similar
- Fix docstrings to be properly multilined
- Add newlines where appropriate
- Add doctests where they were missing
- Remove doctests that test for the correct solution
- fix obvious spelling or grammar mistakes in comments and
  exception messages
- Fix line endings to be UNIX. This makes two of the files seem
  to have changed completely
- no functional changes in any of the solutions were done
  (except for the spelling fixes mentioned above)

* Fix docstrings and main function as per Style Guide
2020-10-25 08:53:16 +05:30
Phil Bazun
5be77f33f7
Add 0-1-bfs. (#3285)
* Add 0-1-bfs.

* fixup! Add 0-1-bfs.

* fixup! Add 0-1-bfs.

* Check edge weights.

* Check edge vertecies.
2020-10-24 23:07:04 +02:00
Sam Holst
89e8dbffba
removed extra line to match rest of file (#3528) 2020-10-25 01:19:59 +08:00
Nandiya
12c69800bd
Forecast (#3219)
* add forecasting code

* add statsmodel

* sort import

* sort import fix

* fixing black

* sort requirement

* optimize code

* try with limited data

* sort again

* sort fix

* sort fix

* delete warning and black

* add code for forecasting

* use black

* add more hints to describe

* add doctest

* finding whitespace

* fixing doctest

* delete

* revert back

* revert back

* revert back again

* revert back again

* revert back again

* try trimming whitespace

* try adding doctypeand etc

* fixing reviews

* deleting all the space

* fixing the build

* delete x

* add description for safety checker

* deleting subscription integer

* fix docthint

* make def to use function parameters and return values

* make def to use function parameters and return values

* type hints on data safety checker

* optimize code

* Update run.py

Co-authored-by: FVFYK3GEHV22 <fvfyk3gehv22@FVFYK3GEHV22s-MacBook-Pro.local>
Co-authored-by: Christian Clauss <cclauss@me.com>
2020-10-24 16:07:27 +02:00
Dhruv Manilawala
b97529dd88
Move validate_solutions and add durations flag to pytest.ini (#3704)
* Move PE validate_solutions to scripts/ directory

* Update pytest.ini file with durations settings

* Remove codespell and autoblack workflow file

* Dependent changes to test config files

* Update pytest.ini
2020-10-24 19:07:33 +05:30
Du Yuanchao
1cd8e68537
Update LinkedQueue (#3683)
* update LinkedQueue

* add type hint and rename
2020-10-24 12:16:37 +02:00
fpringle
409438d250
Add solution for Project Euler problem 38. (#3115)
* Added solution for Project Euler problem 38. Fixes: #2695

* Update docstring and 0-padding in directory name. Reference: #3256

* Renamed is_9_palindromic to is_9_pandigital.

* Changed just-in-case return value for solution() to None.

* Moved exmplanation to module-level docstring and deleted unnecessary import
2020-10-24 08:12:15 +05:30
Peter Yao
20260d2b9c
Add Project Euler 65 Solution (#3035)
* Add solution for Project Euler 65,

* Add URL to problem 65 and don't pass in parameter to solution()

* Remove solution() tests

* Add tests for solution(), add fstring and positional arg for solution

* Rename directory and problem number to 065

* Remove directory

* Move up explanation to module code block

* Move solution() below helper function, rename variables
2020-10-24 07:55:15 +05:30
Himadri Ganguly
46af42d47a
Fix coin change (#2571)
* Removed unused variable m.

* Doctests are modified to match functions.

* Added condition for negative values.

* Fixed white-space around operator.

* Fixed W293 blank line contains white-space error.

* Update dynamic_programming/coin_change.py

Co-authored-by: Tapajyoti Bose <44058757+ruppysuppy@users.noreply.github.com>

* Fixed error in code.

* Fixed whited spacing.

* Fixed PEP8 error.

* Added more test cases for coin change problem.

* Removed extra test for negetive value.

Co-authored-by: Tapajyoti Bose <44058757+ruppysuppy@users.noreply.github.com>
2020-10-24 00:55:13 +08:00
Rolv Apneseth
04fae4db9b
Improved and shortened prime_check.py (#3454)
* Made small improvements and shortened prime_check.py

* improved descriptions on tests in prime_check.py

* Ran black and isort
2020-10-24 00:17:29 +08:00
Du Yuanchao
c2b7acdf11
Update Linked Stack (#3625)
* update linked_stack

* remove properties

* updating DIRECTORY.md

Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
2020-10-24 00:16:23 +08:00
Du Yuanchao
5e642607c8
Update doubly linked list (#3619)
* update doubly linked list

* reformat code
add more test

* add test to iter

* updating DIRECTORY.md

Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
2020-10-21 22:31:09 +08:00
Christian Clauss
9b95e4f662
Pyupgrade to python3.8 (#3616)
* Upgrade to Python 3.8 syntax

* updating DIRECTORY.md

Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
2020-10-21 12:46:14 +02:00
anneCoder1805
74233022a0
Median of Two Arrays (#3554)
* Create medianOf TwoArrays.py

This code finds the median of two arrays (which may or may not be sorted initially).
Example: 
Enter elements of an array: 1 5 4 2
Enter elements of another array: 1 7 4 2 7
The median of two arrays is :  4

* Rename medianOf TwoArrays.py to median_of _two_arrays.py

* Rename median_of _two_arrays.py to median_of_two_arrays.py

* Update median_of_two_arrays.py

* Update median_of_two_arrays.py

* Update median_of_two_arrays.py

* Update median_of_two_arrays.py

* Update median_of_two_arrays.py

* Update median_of_two_arrays.py

* Update median_of_two_arrays.py

* Update median_of_two_arrays.py

* Update median_of_two_arrays.py

* Update median_of_two_arrays.py

* Update median_of_two_arrays.py

* Update median_of_two_arrays.py

* Update median_of_two_arrays.py

* Update median_of_two_arrays.py

* Update median_of_two_arrays.py

* Update median_of_two_arrays.py

* Update median_of_two_arrays.py
2020-10-20 12:38:49 +02:00
Tobias Schröder
802ac83c3d
Add a naive recursive implementation of 0-1 Knapsack Problem (#2743)
* Add naive recursive implementation of 0-1 Knapsack problem

* Fix shadowing

* Add doctest

* Fix type hints

* Add link to wiki

* Blacked the file

* Fix isort

* Move knapsack / add readme and more tests

* Add missed main in tests
2020-10-19 09:07:18 +08:00
JoaoVictorNascimento
79d57552aa
Add Patience Sort (#3469)
* Add Patience Sort

* fix code for pre-commit

* Fix params def

* Adding new line at end of file

* Remove Trailing Whitespace

* Adding space between the methods of the Stack class

* Removing Trailing Whitespace

* Ordering Imports

* Adding url patience sort

Co-authored-by: jvnascimento <nascimento783@gmail.com>
2020-10-18 23:44:19 +02:00
Anselm Hahn
4c92f8c0d0
Replace main with __main__ (#3518) 2020-10-18 21:54:43 +02:00
Christian Clauss
a481bfa231
Fix broken build: Remove trailing spaces (#3501)
* Fix broken build: Remove trailing spaces

* updating DIRECTORY.md

* One more trailing space

Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
2020-10-18 18:07:27 +02:00
Abhishek Jaisingh
beb2c35dd8
Implement Deutsch-Jozsa Algorithm In Qiskit (#3447)
* Implement Deutsch-Jozsa Algorithm In Qiskit

Signed-off-by: Abhishek Jaisingh <abhi2254015@gmail.com>

* Add Changes Requested In Review

Signed-off-by: Abhishek Jaisingh <abhi2254015@gmail.com>

* Address Further Review Comments

* fixup! Format Python code with psf/black push

Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
2020-10-18 16:54:46 +02:00
RadadiyaMohit
2ec3750885
create monoalphabetic cipher (#3449)
* create monoalphabetic cipher

* update file

* update file

* update file

* update file

* update file

* update after testing flake8 on this code

* update file

* update file

* update file

* update file

* update file

* update file
2020-10-17 20:00:46 +02:00
RadadiyaMohit
3bbec1db49
create beaufort cipher (#3206)
* create beaufort cipher

if you like my code, merge it and add the label as `hacktoberfest-accepted`

* update the file

* Update beaufort_cipher.py

* Update beaufort_cipher.py

* update as per black formatter

* Update beaufort_cipher.py

* update the file

* update file

* update file

* update file

* update file
2020-10-17 15:50:53 +02:00
Christian Clauss
f34434a214
Fix the build -- 88 chars per line max. (#3437)
* Fix the build -- 88 chars per line max.

* updating DIRECTORY.md

Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
2020-10-17 13:42:29 +02:00
CapofWeird
05f4089bf0
Fixed typo in caesar_cipher.py (#2979)
* Fixed typo in caesar_cipher.py

* Typo fixes
2020-10-17 13:26:11 +05:30
Abhishek Jaisingh
a88006d04a
Qiskit: Add Quantum Half Adder (#3405)
* Qiskit: Add Quantum Half Adder

* fixup! Format Python code with psf/black push

Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
2020-10-17 07:41:24 +02:00
acoder77
35cade8389
Create .gitattributes for Cross OS compatibility (#3410)
With this set, Windows users will have text files converted from Windows style line endings (\r\n) to Unix style line endings (\n) when they’re added to the repository.
https://www.edwardthomson.com/blog/git_for_windows_line_endings.html
2020-10-17 07:25:25 +02:00
Dhruv
5cb41e7820
Create GitHub action only for Project Euler (#3378)
* Add GitHub action for Project Euler only

* Add second job for Project Euler

* Remove Project Euler jobs from Travis CI

* Fix typo for actions/setup-python

* Rename the workflow file

* Change name of file in workflow

* Remove comments from Travis config file
2020-10-17 08:23:17 +05:30
Akash G Krishnan
7d84f7fe61
Adding in the evaluate postfix notation using Stack (#2598)
* Create evaluate_postfix_notations.py

Adding in the evaluate postfix notation using Stacks
one of the common use with simple stack question
creating a new file for the data structure of stacks

* Create evaluate_postfix_notations.py

Adding in the evaluate postfix notation using Stacks
one of the common use with simple stack question
creating a new file for the data structure of stacks

* Delete evaluate_postfix_notations.py

* Evaluate postfix expression stack clean approach

Sending in the PR again as the Previous request failed in pre commit

* Update evaluate_postfix_notations.py

* Update evaluate_postfix_notations.py

Made changes as per the required for fixing the failing pre-commits.

* Update evaluate_postfix_notations.py

Made changes as suggested by @cclauss

* Update evaluate_postfix_notations.py

fixed pre-commit fails

* Update evaluate_postfix_notations.py

fixing pre-commit fails

* Update evaluate_postfix_notations.py

Deleted trailing white spaces causing pre-commits to fail

* Update data_structures/stacks/evaluate_postfix_notations.py

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

* Update data_structures/stacks/evaluate_postfix_notations.py

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

Co-authored-by: Christian Clauss <cclauss@me.com>
2020-10-16 20:45:26 +02:00
Benjamin Smith
58875674da
Project Euler 57 - Square root convergents (#3259)
* include solution for problem 57

* fix line to long errors

* update filenames and code to comply with new regulations

* more descriptive local variables
2020-10-16 21:17:35 +05:30
Tanay Karve
fc98961814
Hacktoberfest 2020: Added computer vision algorithm (#2946)
* Create meanthresholding.py

* Rename meanthresholding.py to meanthreshold.py

* Update meanthreshold.py

* Update computer_vision/meanthreshold.py

Verified this part works, thanks.

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

* Update computer_vision/meanthreshold.py

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

Co-authored-by: Christian Clauss <cclauss@me.com>
2020-10-16 15:15:20 +02:00
Akash G Krishnan
c33b683193
New doubly linkedlist PR: pull/2573 (#3380)
https://github.com/TheAlgorithms/Python/pull/2573 
the second implementation of the Doubly linked list
2020-10-16 15:13:45 +02:00
fpringle
9643d3060d
Add solution for Project Euler problem 75. (#3129)
* Added solution for Project Euler problem 75. 

* Added doctest for solution() in project_euler/problem_75/sol1.py

* Update docstring and 0-padding of directory name. Reference: #3256

* More descriptive variable names

* Moved solution explanation to module-level docstring
2020-10-16 16:00:45 +05:30