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/ 用到了初中等比三角形的知识
页:
[1]