Problem
Given a list of x, y coordinates, find if all the coordinates are on a straight line. if YES return 'True' otherwise return 'False'
Solution
Equation for the straight line is
y = mx + c
where y and x are the coordinates and m and c are integer constants.
if all the inputs are on the same straight line they should follow the above formula. We can use first two points to find the value of m and c and check other following points using the formula.
if first point is x1, y1 and second point is x2, y2
y1 = m * x1 + c
y2 = m * x2 + c
m = (y2-y1)/(x2-x1)
c = y1-(m*x1)
one we have above values for every point we can check if y3 = m*x3+c ...
If we put above logic in the java code it will look like this
Comments
Post a Comment