-
-
Notifications
You must be signed in to change notification settings - Fork 46.9k
Changes the code To return the list in dynamic_programming/subset_generation.py #10191
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
Changes from 2 commits
dde13de
0a24286
78699e6
2428546
80bd835
0ea1892
f79c742
29f67cf
2950699
2a9f506
3d8fe15
9ea41a3
7615e52
314541d
bc02834
c455a31
9088b31
916b533
5aa6f60
1669f13
1abe2f3
bb18a8e
3385a1e
392de54
0116388
afd8d56
a746cd6
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
@@ -1,7 +1,33 @@ | ||||||||||||||||||||||||||||
# return all subset combinations of n element in given set of r element. | ||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||
def subset_combinations_dp(elements, n): | ||||||||||||||||||||||||||||
def subset_combinations_dp(elements: list, n: int) -> list: | ||||||||||||||||||||||||||||
""" | ||||||||||||||||||||||||||||
Generate all possible combinations of n elements from the given list of elements using dynamic programming. | ||||||||||||||||||||||||||||
Args: | ||||||||||||||||||||||||||||
elements (list): The list of elements from which combinations will be generated. | ||||||||||||||||||||||||||||
n (int): The number of elements in each combination. | ||||||||||||||||||||||||||||
Returns: | ||||||||||||||||||||||||||||
list: A list of tuples, each representing a combination of n elements. | ||||||||||||||||||||||||||||
>>> subset_combinations_dp(elements=[10, 20, 30, 40], n=2) | ||||||||||||||||||||||||||||
[(10, 20), (10, 30), (20, 30), (10, 40), (20, 40), (30, 40)] | ||||||||||||||||||||||||||||
>>> subset_combinations_dp(elements=[1, 2, 3], n=1) | ||||||||||||||||||||||||||||
[(1,), (2,), (3,)] | ||||||||||||||||||||||||||||
>>> subset_combinations_dp(elements=[1, 2, 3], n=3) | ||||||||||||||||||||||||||||
[(1, 2, 3)] | ||||||||||||||||||||||||||||
>>> subset_combinations_dp(elements=[42], n=1) | ||||||||||||||||||||||||||||
[(42,)] | ||||||||||||||||||||||||||||
>>> subset_combinations_dp(elements=[1, 2, 3, 4, 5], n=3) | ||||||||||||||||||||||||||||
[(1, 2, 3), (1, 2, 4), (1, 3, 4), (2, 3, 4), (1, 2, 5), (1, 3, 5), (2, 3, 5), (1, 4, 5), (2, 4, 5), (3, 4, 5)] | ||||||||||||||||||||||||||||
>>> subset_combinations_dp(elements=[6, 7, 8, 9], n=4) | ||||||||||||||||||||||||||||
[(6, 7, 8, 9)] | ||||||||||||||||||||||||||||
>>> subset_combinations_dp(elements=[10, 20, 30, 40, 50], n=0) | ||||||||||||||||||||||||||||
[()] | ||||||||||||||||||||||||||||
>>> subset_combinations_dp(elements=[1, 'apple', 3.14], n=2) | ||||||||||||||||||||||||||||
[(1, 'apple'), (1, 3.14), ('apple', 3.14)] | ||||||||||||||||||||||||||||
>>> subset_combinations_dp(elements=['single'], n=0) | ||||||||||||||||||||||||||||
[()] | ||||||||||||||||||||||||||||
""" | ||||||||||||||||||||||||||||
r = len(elements) | ||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||
dp = [[] for _ in range(r + 1)] | ||||||||||||||||||||||||||||
|
@@ -20,3 +46,7 @@ def subset_combinations_dp(elements, n): | |||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||
if __name__ == "__main__": | ||||||||||||||||||||||||||||
print(f"{subset_combinations_dp(elements=[10, 20, 30, 40], n=2) = }") | ||||||||||||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I have changed the code now code giving the list sorted order There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
|
||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||
import doctest | ||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||
doctest.testmod() |
Uh oh!
There was an error while loading. Please reload this page.