博客
关于我
浅谈 缀点成线 问题
阅读量:237 次
发布时间:2019-03-01

本文共 811 字,大约阅读时间需要 2 分钟。

缀点成线

问题:

在一个 XY 坐标系中有一些点,我们用数组 coordinates 来分别记录它们的坐标,其中 coordinates[i] = [x, y] 表示横坐标为 x、纵坐标为 y 的点。
行数 = 2;

请你来判断,这些点是否在该坐标系中属于同一条直线上,是则返回 true,否则请返回 false。

思路:

将所有点平移第一个点的位置大小,那么这些点如果在一条直线上,其他所有点都应该满足 A * x + B * y = 0
不满足返回 false ,全部满足返回 true。

class Solution {   public:    bool checkStraightLine(vector
>& coordinates) { const int n = coordinates.size(); // 列数 auto deltX = coordinates[0][0], deltY = coordinates[0][1]; for(int i = 0; i < n; ++i){ coordinates[i][0] -= deltX; coordinates[i][1] -= deltY; } auto A = coordinates[1][1], B = -coordinates[1][0]; for(int j = 2; j < n; ++j){ if(A * coordinates[j][0] + B * coordinates[j][1] != 0) return false; } return true; }};

转载地址:http://qypv.baihongyu.com/

你可能感兴趣的文章
mysql建立索引的几大原则
查看>>
Mysql建表中的 “FEDERATED 引擎连接失败 - Server Name Doesn‘t Exist“ 解决方法
查看>>
MySQL开源工具推荐,有了它我卸了珍藏多年Nactive!
查看>>
MySQL异步操作在C++中的应用
查看>>
MySQL引擎讲解
查看>>
Mysql当前列的值等于上一行的值累加前一列的值
查看>>
MySQL当查询的时候有多个结果,但需要返回一条的情况用GROUP_CONCAT拼接
查看>>
MySQL必知必会(组合Where子句,Not和In操作符)
查看>>
MySQL必知必会总结笔记
查看>>
MySQL快速入门
查看>>
MySQL快速入门——库的操作
查看>>
mysql快速复制一张表的内容,并添加新内容到另一张表中
查看>>
mysql快速查询表的结构和注释,字段等信息
查看>>
mysql怎么删除临时表里的数据_MySQL中关于临时表的一些基本使用方法
查看>>
mysql性能优化
查看>>
mysql性能优化学习笔记-存储引擎
查看>>
MySQL性能优化必备25条
查看>>
Mysql性能优化(1):SQL的执行过程
查看>>
Mysql性能优化(2):数据库索引
查看>>
Mysql性能优化(3):分析执行计划
查看>>