Problem Statement
There are four distinct points in the plane. You are given their coordinates in the
Return "It's a square" (quotes for clarity) if the four points are the vertices of a square. Otherwise, return "Not a square".
Definition
- Class:
- IsItASquare
- Method:
- isSquare
- Parameters:
- int[], int[]
- Returns:
- String
- Method signature:
- String isSquare(int[] x, int[] y)
- (be sure your method is public)
Constraints
- x will contain 4 elements.
- y will contain 4 elements.
- Each element of x will be between 0 and 10,000, inclusive.
- Each element of y will be between 0 and 10,000, inclusive.
- The four points described by x and y will be distinct.
Examples
{0, 0, 2, 2}
{0, 2, 0, 2}
Returns: "It's a square"
{0, 1, 5, 6}
{1, 6, 0, 5}
Returns: "It's a square"
Note that the sides of the square do not have to be parallel to the coordinate axes. Also note that the order in which the points are given does not have to be the same as the order in which you would encounter them when following the boundary of the square.
{0, 0, 7, 7}
{0, 3, 0, 3}
Returns: "Not a square"
{0, 5000, 5000, 10000}
{5000, 0, 10000, 5000}
Returns: "It's a square"
{1, 2, 3, 4}
{4, 3, 2, 1}
Returns: "Not a square"
{0, 5, 3, 8}
{0, 0, 4, 4}
Returns: "Not a square"
{4687,3589,6666,1610}
{1282,6338,4359,3261}
Returns: "It's a square"
{5014,4801,3759,3545}
{3041,4296,2827,4082}
Returns: "Not a square"
{956,7558,9151,5715}
{5816,9036,3534,2432}
Returns: "Not a square"
{6427,2708,4387,4748}
{6648,6287,8327,4608}
Returns: "It's a square"
{4129,844,1506,3467}
{3682,1721,4344,1060}
Returns: "Not a square"
{3757,150,902,2887}
{207,7037,4294,4431}
Returns: "Not a square"
{3420,8335,9624,4709}
{8485,9774,4859,3570}
Returns: "It's a square"
{3931,657,1015,3574}
{4194,1634,4551,1277}
Returns: "Not a square"
{5281,9805,9834,8392}
{8561,2366,222,4381}
Returns: "Not a square"
{2224,345,1579,3458}
{515,1749,3628,2394}
Returns: "It's a square"
{3484,4145,2920,2259}
{1495,2719,3380,2155}
Returns: "Not a square"
{3525,6073,9111,3432}
{8710,8011,6959,8549}
Returns: "Not a square"
{1297,3847,122,2672}
{3546,4721,6096,7271}
Returns: "It's a square"
{3134,4126,5650,4658}
{2484,4008,3017,1492}
Returns: "Not a square"
{2455,126,9188,6644}
{4686,6260,629,2446}
Returns: "Not a square"
{3537,3634,3150,4021}
{2783,1912,2299,2396}
Returns: "It's a square"
{3391,4206,2779,4817}
{2586,548,1159,1975}
Returns: "Not a square"
{9771,4422,2782,9553}
{6786,8207,9798,896}
Returns: "Not a square"
{2250,4403,7385,5232}
{6803,3821,5974,8956}
Returns: "It's a square"
{2247,2759,2463,2542}
{3301,3222,3006,3517}
Returns: "Not a square"
{0,10000,0,10000}
{0,10000,10000,0}
Returns: "It's a square"
{5415,4078,5415,6752}
{5087,5087,6424,3750}
Returns: "Not a square"
{4078,5415,5415,6752}
{5087,5087,6424,3750}
Returns: "Not a square"
{5415,5415,4078,6752}
{6424,5087,5087,3750}
Returns: "Not a square"
{6752,5415,4078,5415}
{3750,5087,5087,6424}
Returns: "Not a square"
{0, 0, 10000, 10000}
{0, 5000, 0, 5000}
Returns: "Not a square"
{3, 7, 4, 0 }
{0, 3, 7, 4 }
Returns: "It's a square"
{1, 1, 2, 0 }
{1, 0, 1, 2 }
Returns: "Not a square"
{2, 4, 3, 5 }
{0, 1, 4, 0 }
Returns: "Not a square"
{0, 3, 0, 3 }
{0, 0, 3, 3 }
Returns: "It's a square"
{0, 1, 5, 6 }
{1, 6, 0, 5 }
Returns: "It's a square"
{1, 2, 3, 4 }
{4, 3, 2, 1 }
Returns: "Not a square"
{0, 5, 3, 8 }
{0, 0, 4, 4 }
Returns: "Not a square"
{0, 8, 4, 4 }
{3, 3, 6, 0 }
Returns: "Not a square"
{0, 1, 0, 1 }
{0, 0, 1, 1 }
Returns: "It's a square"
{8, 14, 12, 10 }
{14, 12, 16, 10 }
Returns: "It's a square"
{2, 0, 1, 1 }
{10, 10, 20, 0 }
Returns: "Not a square"
{2, 2, 4, 0 }
{2, 4, 2, 0 }
Returns: "Not a square"
{0, 4, 4, 8 }
{0, 0, 4, 4 }
Returns: "Not a square"
{4, 4, 3, 5 }
{5, 4, 5, 6 }
Returns: "Not a square"
{1, 0, 2, 2 }
{0, 0, 0, 1 }
Returns: "Not a square"