1232. Check If It Is a Straight Line

The idea of this solution is we use 3 points to find whether two slopes are equal. We can use the equation:image where x0, x1, x2, y0, y1, y2 are all coordinates: image You might not understand the equation, so we can multiply divide both sides by (x1 - x0) and (x2 - x1) and we can get: image The equation above is based off of a familar slope equation: image The reason we are doing the original equation instead of the where we have divided both sides by (x1 - x0) and (x2 - x1) is we don’t have to worry about dividing by 0 such as when we divide both sides by (x1 - x0) and (x2 - x1) but (x1 - x0) = 0 or (x2 - x1) = 0 we have to contumplate what to do.

The Code:

func checkStraightLine(coordinates [][]int) bool {
    x0, x1, := coordinates[0][0], coordinates[1][0]
    y0, y1 := coordinates[0][1], coordinates[1][1]

    for i := 1; i < len(coordinates); i++ {
        x2, y2 := coordinates[i][0], coordinates[i][1]
        if (x1 - x0) * (y2 - y1) != (y1 - y0) * (x2 - x1) {
            return false
        }
    }
    return true
}