Add a Python implementation of the Activity Selection Problem (greedy algorithm) and test examples. #216
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Adds activity_selection.py implementing the greedy activity selection algorithm.
Selects the maximum set of non-overlapping activities by sorting on finish times.
Changes
New file: activity_selection.py
activity_selection(start_times, finish_times) — returns list of selected activity indices.
Includes two example test cases under if name == "main": with sample input and printed output.
Small README note (optional) explaining how to run the script.
How to test
python activity_selection.py
Expected output:
Selected activities (indices): [ ... ]
Number of activities selected: ...
Notes for reviewers
Algorithm mirrors canonical greedy solution; uses sorting by finish time.
Input lists must be same length; no extra validation to keep the example beginner-friendly.
Happy to update to return selected activities sorted by finish time or swap to zero/one-based indices if preferred.