Go•check-if-it-is-a-straight-line/solution.go
package main
func checkStraightLine(coordinates [][]int) bool {
dx, dy := coordinates[1][0]-coordinates[0][0], coordinates[1][1]-coordinates[0][1]
for _, point := range coordinates[2:] {
if (point[0]-coordinates[0][0])*dy != (point[1]-coordinates[0][1])*dx {
return false
}
}
return true
}
Python•check-if-it-is-a-straight-line/solution.py
class Solution:
def checkStraightLine(self, coordinates: list[list[int]]) -> bool:
dx = coordinates[class="syntax-number">1][class="syntax-number">0] - coordinates[class="syntax-number">0][class="syntax-number">0]; dy = coordinates[class="syntax-number">1][class="syntax-number">1] - coordinates[class="syntax-number">0][class="syntax-number">1]
return all((x - coordinates[class="syntax-number">0][class="syntax-number">0]) * dy == (y - coordinates[class="syntax-number">0][class="syntax-number">1]) * dx for x, y in coordinates[class="syntax-number">2:])
TypeScript•check-if-it-is-a-straight-line/solution.ts
function checkStraightLine(coordinates: number[][]): boolean {
const dx = coordinates[class="syntax-number">1][class="syntax-number">0] - coordinates[class="syntax-number">0][class="syntax-number">0]; const dy = coordinates[class="syntax-number">1][class="syntax-number">1] - coordinates[class="syntax-number">0][class="syntax-number">1];
return coordinates.slice(class="syntax-number">2).every(([x, y]) => (x - coordinates[class="syntax-number">0][class="syntax-number">0]) * dy === (y - coordinates[class="syntax-number">0][class="syntax-number">1]) * dx);
}