Skip to content

Update AllCombinationsOfSizeK.js #1530

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

Merged
merged 8 commits into from
Oct 30, 2023
Merged

Conversation

imrahulkb
Copy link
Contributor

@imrahulkb imrahulkb commented Oct 14, 2023

Open in Gitpod know more

Describe your change:

This PR modifies a current algorithm for AllCombinationsOfSizeK. Four parameters made up the original findCombinations() method, and they were duplicated for each stack call. Since the modifications are kept in the instance variables, the modified findCombinations() method does not require any parameters. In this case, there will be far fewer local variables that need to be initialized overall on each recursive call.
There was also a for loop in the original technique. The updates function is entirely recursive and lacks a for loop.

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 JavaScript files are placed inside an existing directory.
  • All filenames should use the UpperCamelCase (PascalCase) style. There should be no spaces in filenames.
    Example:UserProfile.js is allowed but userprofile.js,Userprofile.js,user-Profile.js,userProfile.js are not
  • All new algorithms have a URL in their comments that points to Wikipedia or another similar explanation.
  • If this pull request resolves one or more open issues then the commit message contains Fixes: #{$ISSUE_NO}.

Copy link
Collaborator

@appgurueu appgurueu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, however formatting seems broken. If you're already refactoring this, could you get rid of the class entirely? This should be a single function taking n and k as parameters instead. Ideally the API should also be a generator rather than producing a list.

Copy link
Collaborator

@appgurueu appgurueu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You'll need to fix the tests, though. They currently still expect a class.

Changes made it the type of testing. 
Instead of testing the class now the program will test the function
@imrahulkb
Copy link
Contributor Author

I am not able to get that why there is code style error in this pull request

@raklaptudirm raklaptudirm merged commit cafb343 into TheAlgorithms:master Oct 30, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants