VOOZH about

URL: https://www.geeksforgeeks.org/dsa/check-four-segments-form-rectangle/

⇱ Check if four segments form a rectangle - GeeksforGeeks


  • Courses
  • Tutorials
  • Interview Prep

Check if four segments form a rectangle

Last Updated : 23 Jul, 2025

We are given four segments as a pair of coordinates of their end points. We need to tell whether those four line segments make a rectangle or not. 
Examples: 
 

Input : segments[] = [(4, 2), (7, 5),
 (2, 4), (4, 2),
 (2, 4), (5, 7),
 (5, 7), (7, 5)]
Output : Yes
Given these segment make a rectangle of length 3X2.

Input : segment[] = [(7, 0), (10, 0),
 (7, 0), (7, 3),
 (7, 3), (10, 2),
 (10, 2), (10, 0)]
Output : Not
These segments do not make a rectangle.

Above examples are shown in below diagram.


This problem is mainly an extension of How to check if given four points form a square
 


We can solve this problem by using properties of a rectangle. First, we check total unique end points of segments, if count of these points is not equal to 4 then the line segment can’t make a rectangle. Then we check distances between all pair of points, there should be at most 3 different distances, one for diagonal and two for sides and at the end we will check the relation among these three distances, for line segments to make a rectangle these distance should satisfy Pythagorean relation because sides and diagonal of rectangle makes a right angle triangle. If they satisfy mentioned conditions then we will flag polygon made by line segment as rectangle otherwise not.
 

Output: 
 

Yes

Time Complexity: O(n2logn) 
Auxiliary Space: O(n)


 

Comment