糖逗 发表于 2020-6-15 16:13:36

C++刷leetcode(1232. 缀点成线)【数学】【等比三角形】

题目描述:
在一个 XY 坐标系中有一些点,我们用数组 coordinates 来分别记录它们的坐标,其中 coordinates =  表示横坐标为 x、纵坐标为 y 的点。

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

 

示例 1:



输入:coordinates = [,,,,,]
输出:true
示例 2:



输入:coordinates = [,,,,,]
输出:false
 

提示:

2 <= coordinates.length <= 1000
coordinates.length == 2
-10^4 <= coordinates, coordinates <= 10^4
coordinates 中不含重复的点

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/check-if-it-is-a-straight-line
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。


class Solution {
public:
    bool checkStraightLine(vector<vector<int>>& coordinates) {
      //等比三角形
      double a,b,c,d;
      a = coordinates;
      b = coordinates;
      c = coordinates;
      d = coordinates;
      for(auto i:coordinates){
            if((i-b)*(c-a)!=(i-a)*(d-b)) return false;
      }
      return true;
    }
};


注意事项:1.代码摘自https://leetcode-cn.com/problems/check-if-it-is-a-straight-line/solution/qian-liang-ge-dian-que-ding-zhi-xian-fang-cheng-by/

糖逗 发表于 2020-6-15 16:14:42

用到了初中等比三角形的知识
页: [1]
查看完整版本: C++刷leetcode(1232. 缀点成线)【数学】【等比三角形】