added merge interval problem on the array data structure
This project/file contains a solution to the Merge Intervals problem, a common coding interview problem.
Problem Statement: Given a collection of intervals, merge all overlapping intervals and return a list of non-overlapping intervals that cover all the intervals in the input.
Example:
Input: [[1,3],[2,6],[8,10],[15,18]] Output: [[1,6],[8,10],[15,18]]
Key Points:
Handles overlapping intervals efficiently.
Time Complexity: O(n log n) due to sorting.
Space Complexity: O(n) for storing the merged intervals.
Usage:
The solution can be directly tested with custom interval inputs.
Ideal for practice in coding interviews and algorithm learning.
Excellent contribution! The Merge Intervals solution is well-implemented and addresses a classic interview problem effectively.
Strengths:
- Clear type hints with list[list[int]] specification
- Good documentation explaining the algorithm approach
- Handles edge cases properly
- Time complexity O(n log n) due to sorting is optimal
Code quality:
- Function signature is clear and type-safe
- Comments explain the merging logic well
- Variable names are descriptive
Suggestion: Consider adding a docstring with:n- Example usage
- Time and space complexity analysis
- Edge cases handled
This is a solid addition to the arrays collection!
Thank you for the suggestion! I have updated the merge_intervals function as follows:
- Added input validation to raise ValueError for invalid intervals (e.g., [[]])
- Handled edge cases: empty list, single interval, fully overlapping intervals
- Enhanced docstring with detailed explanation, examples, and time/space complexity
Please let me know if any further changes are needed.
Excellent work! Thank you for addressing the suggestions and adding the input validation. The documentation looks much better now. Approved!
Thank you