LeetCode每日一题——缀点成线

题目要求:

给定一个整数数组 coordinates ,其中 coordinates[i] = [x, y][x, y] 表示横坐标为 x、纵坐标为 y 的点。请你来判断,这些点是否在该坐标系中属于同一条直线上。

示例 1:

复制代码
输入:coordinates = [[1,2],[2,3],[3,4],[4,5],[5,6],[6,7]]
输出:true

示例 2:

复制代码
输入:coordinates = [[1,1],[2,2],[3,4],[4,5],[5,6],[7,7]]
输出:false

代码实现:

bool checkStraightLine(int** coordinates, int coordinatesSize, int* coordinatesColSize) {

//若点数小于或等于2则一定共线

if(coordinatesSize <= 2)

{

return true;

}

//建立基准

int x0 = coordinates00, y0 = coordinates01;

int x1 = coordinates10, y1 = coordinates11;

int deltaX = x1 - x0, deltaY = y1 - y0;

int i = 0;

for(i = 2; i < coordinatesSize; i++)

{

//用交叉相乘是否相等来判断是否共线

if(deltaX * (coordinatesi1 - y0) != deltaY * (coordinatesi0 - x0))

{

return false;//只要有一点不共线,结果都不相等

}

}

return true;//点、线都满足则共线

}

坚持编程,我一直在路上!

相关推荐
水木流年追梦17 分钟前
大模型入门-大模型优化方法12-YaRN 长文本外推技术
人工智能·分布式·算法·正则表达式·prompt
J-Tony111 小时前
【JVM】三色标记法
java·jvm·算法
wengad1 小时前
机器学习实践理论基础|算法、模型和数据集
人工智能·算法·机器学习
wuminyu2 小时前
Java锁机制之park和unpark源码剖析
java·linux·c语言·jvm·c++
梦梦代码精2 小时前
为什么这个开源的AI平台会火?有点东西。。。
人工智能·算法·机器学习·docker·开源
随意起个昵称2 小时前
线性dp-综合刷题1(Not Alone)
算法·动态规划
asdfg12589632 小时前
C 语言中产生伪随机数的标准做法
c语言·开发语言
玖玥拾3 小时前
C/C++ 基础笔记(十一)类的进阶
c语言·c++·设计模式·
如何原谅奋力过但无声3 小时前
【灵神高频面试题合集09-13】二叉树、二叉搜索树
数据结构·算法·leetcode
皆圥忈4 小时前
磁盘物理结构与文件系统基础讲解
linux·算法