Leetcode - max-area-of-island
Leetcode - lru-cache

Leetcode - check-if-it-is-a-straight-line

violet posted @ Mar 12, 2020 01:36:09 AM in 算法 with tags Algorithm array ruby Golang , 501 阅读

https://leetcode.com/problems/check-if-it-is-a-straight-line/

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.

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

 

# @param {Integer[][]} coordinates
# @return {Boolean}
def check_straight_line(points)
    k = (points[1][1] - points[0][1]).to_f / (points[1][0] - points[0][0]).to_f
    for i in 2..points.length-1
        tmp_k = (points[i][1] - points[i-1][1]).to_f / (points[i][0] - points[i-1][0]).to_f
        return false if tmp_k != k
    end
    
    return true
end
func checkStraightLine(points [][]int) bool {
    k := float64(points[1][1] - points[0][1]) / float64(points[1][0] - points[0][0])
    for i := 2; i < len(points); i++ {
        tmpK := float64(points[i][1] - points[i-1][1]) / float64(points[i][0] - points[i-1][0])
        if tmpK != k {
            return false
        }
    }
    
    return true
}

登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter