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 = coordinates[0][0], y0 = coordinates[0][1];

int x1 = coordinates[1][0], y1 = coordinates[1][1];

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

int i = 0;

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

{

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

if(deltaX * (coordinates[i][1] - y0) != deltaY * (coordinates[i][0] - x0))

{

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

}

}

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

}

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

相关推荐
degen_5 小时前
PEIM安装PPI和调用其他PPI的相关函数
c语言·笔记
派大星爱吃猫5 小时前
直接插入排序详解
算法·排序算法·直接插入排序
一只侯子5 小时前
Tuning——CC调试(适用高通)
开发语言·图像处理·笔记·学习·算法
csdn_aspnet5 小时前
直圆锥(Right Circular Cone)
算法·圆锥
JJJJ_iii5 小时前
【机器学习07】 激活函数精讲、Softmax多分类与优化器进阶
人工智能·笔记·python·算法·机器学习·分类·线性回归
啊森要自信6 小时前
【MySQL 数据库】使用C语言操作MySQL
linux·c语言·开发语言·数据库·mysql
天若有情6736 小时前
TFword:从字符到片段,解析一个“小而精”的字符串处理工具的设计智慧
java·jvm·算法
yuuki2332336 小时前
【C语言】预处理详解
c语言·windows·后端
DuHz6 小时前
频率分集阵列雷达——论文阅读
论文阅读·算法·汽车·信息与通信·毫米波雷达