博客
关于我
浅谈 缀点成线 问题
阅读量: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/

你可能感兴趣的文章
Netty源码—8.编解码原理二
查看>>
Netty源码解读
查看>>
netty的HelloWorld演示
查看>>
Netty的Socket编程详解-搭建服务端与客户端并进行数据传输
查看>>
Netty的网络框架差点让我一夜秃头,哭了
查看>>
Netty相关
查看>>
Netty简介
查看>>
Netty线程模型理解
查看>>
netty解决tcp粘包和拆包问题
查看>>
Netty速成:基础+入门+中级+高级+源码架构+行业应用
查看>>
Netty遇到TCP发送缓冲区满了 写半包操作该如何处理
查看>>
netty(1):NIO 基础之三大组件和ByteBuffer
查看>>
Netty:ChannelPipeline和ChannelHandler为什么会鬼混在一起?
查看>>
Netty:原理架构解析
查看>>
Network Dissection:Quantifying Interpretability of Deep Visual Representations(深层视觉表征的量化解释)
查看>>
Network Sniffer and Connection Analyzer
查看>>
Network 灰鸽宝典【目录】
查看>>
Network-Emulator Network-Emulator-Toolkit网络模拟器使用
查看>>
Networkx写入Shape文件
查看>>
NetworkX系列教程(11)-graph和其他数据格式转换
查看>>