1232. Check If It Is a Straight Line

复制代码
package LeetCode_1232

/**
 * 1232. Check If It Is a Straight Line
 * https://leetcode.com/problems/check-if-it-is-a-straight-line/description/
 *
 * 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.
 * */
class Solution {
    fun checkStraightLine(coordinates: Array<IntArray>): Boolean {
        val size = coordinates.size
        var xArray = ArrayList<Int>()
        var yArray = ArrayList<Int>()
        for (coordinate in coordinates) {
            var index = 0
            for (item in coordinate) {
                if (index % 2 == 0) {
                    xArray.add(item)
                } else {
                    yArray.add(item)
                }
                index++
            }
        }
        val xDiff1 = xArray[1] - xArray[0]
        val yDiff1 = yArray[1] - yArray[0]
        //check the slope of the line between two point
        for (i in 2 until size) {
            val xDiff = xArray[i] - xArray[i - 1]
            val yDiff = yArray[i] - yArray[i - 1]
            if (xDiff * yDiff1 != yDiff * xDiff1) {
                return false
            }
        }
        return true
    }
}
复制代码

 

posted @   johnny_zhao  阅读(126)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示