LeetCode - Valid Square Solution - The Coding Shala
Home >> LeetCode >> Valid Square
Other Posts You May Like
In this post, We will learn how to solve LeetCode's Valid Square problem and will implement a Valid Square solution in Java.
Valid Square
Given the coordinates of four points in 2D space, return whether the four points could construct a square.
The coordinate (x,y) of a point is represented by an integer array with two integers.
Example:
Input: p1 = [0,0], p2 = [1,1], p3 = [1,0], p4 = [0,1]
Output: True
Solve this problem on LeetCode: Click Here
Valid Square Java Solution
Approach
We will find 4 sides and 2 diagonals length and for a valid square all 4 sides should be the same length and both diagonal also should be the same length and side and diagonal length is not the same.
Java Program:
class Solution { public boolean validSquare(int[] p1, int[] p2, int[] p3, int[] p4) { int[] lengths = {length(p1, p2), length(p1, p3), length(p1, p4), length(p2, p3), length(p2,p4), length(p3,p4)}; Arrays.sort(lengths); if(lengths[4] == lengths[5]) { if(lengths[0] == lengths[1] && lengths[1] == lengths[2] && lengths[2] == lengths[3]) { if(lengths[0] != lengths[4]) { return true; } } } return false; } public int length(int[] p1, int[] p2) { return (p2[0]-p1[0])*(p2[0]-p1[0]) + (p2[1]-p1[1])*(p2[1]-p1[1]); } }
Other Posts You May Like
- LeetCode - Flipping Image
- LeetCode - Shuffle the Array
- LeetCode - Number of Good Pairs
- LeetCode - Running Sum of 1d Array
- LeetCode - Buddy Strings
Comments
Post a Comment