The Wayback Machine - https://web.archive.org/web/20201126013316/https://github.com/TheAlgorithms/Python/pull/3805
Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Created greedy_coin_change.py file #3805

Open
wants to merge 1 commit into
base: master
from

Conversation

@DevanshiPatel18
Copy link

@DevanshiPatel18 DevanshiPatel18 commented Oct 28, 2020

added the file in greedy_methods folder to implement the same method

Created the said file to implement the greedy coin change problem.

  • Add an algorithm?
  • Fix a bug or typo in an existing algorithm?
  • Documentation change?

Checklist:

  • I have read CONTRIBUTING.md.
  • This pull request is all my own work -- I have not plagiarized.
  • I know that pull requests will not be merged if they fail the automated tests.
  • This PR only changes one algorithm file. To ease review, please open separate PRs for separate algorithms.
  • All new Python files are placed inside an existing directory.
  • All filenames are in all lowercase characters with no spaces or dashes.
  • All functions and variable names follow Python naming conventions.
  • All function parameters and return values are annotated with Python type hints.
  • All functions have doctests that pass the automated testing.
  • All new algorithms have a URL in its comments that points to Wikipedia or other similar explanation.
  • If this pull request resolves one or more open issues then the commit message contains Fixes: #{$ISSUE_NO}.
added the file in greedy_methods folder to implement the same method
@DevanshiPatel18 DevanshiPatel18 changed the title Hacktoberfest: Created greedy_coin_change.py file Created greedy_coin_change.py file Oct 28, 2020
@DevanshiPatel18
Copy link
Author

@DevanshiPatel18 DevanshiPatel18 commented Nov 2, 2020

Can someone review my PR?

Copy link
Contributor

@mrmaxguns mrmaxguns left a comment

Here is my review. Thanks for contributing to open source!

"""


def find_minimum_change(V):

This comment has been minimized.

@mrmaxguns

mrmaxguns Nov 5, 2020
Contributor

Variable names are lowercase, and one-letter variable names are old school. Also, type hints should be added:

def find_minimum_change(value: int) -> list:
    ...

Also, algorithms should not print values, they should return them. In this case, I suggest the function returns a list of integers, where each integer is a denomination.

find_minimum_change(500)
500
find_minimum_change(0)
The total value cannot be zero or negetive

This comment has been minimized.

@mrmaxguns

mrmaxguns Nov 5, 2020
Contributor

Change negetive -> negative. Codespell is pretty picky about misspellings, and the build will error.

def find_minimum_change(V):
total_value = int(V)
# All denominations of Indian Currency
denominations = [1, 2, 5, 10, 20, 50, 100, 500, 2000]

This comment has been minimized.

@mrmaxguns

mrmaxguns Nov 5, 2020
Contributor

Maybe you could add an optional argument to the function so that the user can add their own custom denominations.


# Traverse through all denomination
i = length - 1
while i >= 0:

This comment has been minimized.

@mrmaxguns

mrmaxguns Nov 5, 2020
Contributor

Use a for loop and loop through the denominations in reverse:

for denomination in reversed(denominations):
   ...

i -= 1

# Print result
for i in range(len(answer)):

This comment has been minimized.

@mrmaxguns

mrmaxguns Nov 5, 2020
Contributor

Don't print the result, return it:

return answer

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

2 participants
You can’t perform that action at this time.