LeetCode in Kotlin

1232. Check If It Is a Straight Line

Easy

You are given an array coordinates, coordinates[i] = [x, y], where [x, y] represents the coordinate of a point. Check if these points make a straight line in the XY plane.

Example 1:

Input: coordinates = [[1,2],[2,3],[3,4],[4,5],[5,6],[6,7]]

Output: true

Example 2:

Input: coordinates = [[1,1],[2,2],[3,4],[4,5],[5,6],[7,7]]

Output: false

Constraints:

Solution

class Solution {
    fun checkStraightLine(coordinates: Array<IntArray>): Boolean {
        val deltaX1 = coordinates[0][0] - coordinates[1][0]
        val deltaY1 = coordinates[0][1] - coordinates[1][1]
        val prev = coordinates[1]
        for (i in 2 until coordinates.size) {
            val point = coordinates[i]
            val deltaX2 = point[0] - prev[0]
            val deltaY2 = point[1] - prev[1]
            if (deltaX1 * deltaY2 != deltaX2 * deltaY1) {
                return false
            }
        }
        return true
    }
}