Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

added merge interval problem on the array data structure #14009

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

Open
gokul000410 wants to merge 9 commits into TheAlgorithms:master
base: master
Choose a base branch
Loading
from gokul000410:merge_interval_problem

Conversation

@gokul000410
Copy link

@gokul000410 gokul000410 commented Dec 15, 2025

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.

@algorithms-keeper algorithms-keeper bot added the awaiting reviews This PR is ready to be reviewed label Dec 15, 2025
@algorithms-keeper algorithms-keeper bot added the tests are failing Do not merge until tests pass label Dec 15, 2025
Updated type hints from List to built-in list for compatibility.
@algorithms-keeper algorithms-keeper bot removed the tests are failing Do not merge until tests pass label Dec 15, 2025
Copy link

@shivaganesht shivaganesht left a comment

Choose a reason for hiding this comment

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

Excellent contribution! The Merge Intervals solution is well-implemented and addresses a classic interview problem effectively.

Strengths:

  1. Clear type hints with list[list[int]] specification
  2. Good documentation explaining the algorithm approach
  3. Handles edge cases properly
  4. 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!

@algorithms-keeper algorithms-keeper bot added the tests are failing Do not merge until tests pass label Dec 15, 2025
Updated type hints and docstring formatting in merge_intervals function.
Copy link

@algorithms-keeper algorithms-keeper bot left a comment

Choose a reason for hiding this comment

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

Click here to look at the relevant links ⬇️

🔗 Relevant Links

Repository:

Python:

Automated review generated by algorithms-keeper. If there's any problem regarding this review, please open an issue about it.

algorithms-keeper commands and options

algorithms-keeper actions can be triggered by commenting on this PR:

  • @algorithms-keeper review to trigger the checks for only added pull request files
  • @algorithms-keeper review-all to trigger the checks for all the pull request files, including the modified files. As we cannot post review comments on lines not part of the diff, this command will post all the messages in one comment.

NOTE: Commands are in beta and so this feature is restricted only to a member or owner of the organization.

"""

if not intervals:
return []
Copy link

@algorithms-keeper algorithms-keeper bot Dec 15, 2025

Choose a reason for hiding this comment

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

An error occurred while parsing the file: data_structures/arrays/merge_intervals.py

Traceback (most recent call last):
 File "/opt/render/project/src/algorithms_keeper/parser/python_parser.py", line 146, in parse
 reports = lint_file(
 ^^^^^^^^^^
libcst._exceptions.ParserSyntaxError: Syntax Error @ 42:5.
parser error: error at 41:4: expected one of (, *, +, -, ..., AWAIT, DEDENT, False, NAME, NUMBER, None, True, [, break, continue, lambda, match, not, pass, ~
 return []
 ^

gokul000410 and others added 2 commits December 15, 2025 04:32
@algorithms-keeper algorithms-keeper bot removed the tests are failing Do not merge until tests pass label Dec 15, 2025
Copy link
Author

Excellent contribution! The Merge Intervals solution is well-implemented and addresses a classic interview problem effectively.

Strengths:

  1. Clear type hints with list[list[int]] specification
  2. Good documentation explaining the algorithm approach
  3. Handles edge cases properly
  4. 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

2 more reviewers

@shivaganesht shivaganesht shivaganesht left review comments

@algorithms-keeper algorithms-keeper[bot] algorithms-keeper[bot] left review comments

Reviewers whose approvals may not affect merge requirements

At least 1 approving review is required to merge this pull request.

Assignees

No one assigned

Labels

awaiting reviews This PR is ready to be reviewed

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

AltStyle によって変換されたページ (->オリジナル) /