博客
关于我
浅谈 缀点成线 问题
阅读量: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性能优化(4):优化的注意事项
查看>>
Mysql性能优化(6):读写分离
查看>>
MySQL性能测试及调优中的死锁处理方法
查看>>
mysql性能测试工具选择 mysql软件测试
查看>>
mysql恢复root密码
查看>>
Mysql悲观锁
查看>>
MySQL慢查询-开启慢查询
查看>>
MySQL慢查询分析和性能优化的方法和技巧
查看>>
MySQL慢查询日志总结
查看>>
Mysql慢查询日志,查询截取分析
查看>>
MySQL慢查询问题排查
查看>>
mysql截取sql语句
查看>>
mysql截取身份证号前几位_EXCEL中怎样截取身份证号前六位数字
查看>>
mysql手工注入
查看>>
MySQL执行SQL文件出现【Unknown collation ‘utf8mb4_0900_ai_ci‘】的解决方案
查看>>
Mysql执行update by id的过程
查看>>
mysql执行计划
查看>>
MySQL执行计划 EXPLAIN参数
查看>>
MySQL执行计划【explain】,看这一篇就够啦!
查看>>
Mysql执行计划字段解释
查看>>