1232. 缀点成线 23.11.27

给定一个数组 coordinates ,其中 coordinates[i] = [x, y] , [x, y] 表示横坐标为 x、纵坐标为 y 的点。请你来判断,这些点是否在该坐标系中属于同一条直线上。

示例 1:

1232. 缀点成线 23.11.27_第1张图片

输入:coordinates = [[1,2],[2,3],[3,4],[4,5],[5,6],[6,7]]
输出:true

示例 2:

1232. 缀点成线 23.11.27_第2张图片

输入:coordinates = [[1,1],[2,2],[3,4],[4,5],[5,6],[7,7]]
输出:false

提示:

  • 2 <= coordinates.length <= 1000
  • coordinates[i].length == 2
  • -10^4 <= coordinates[i][0], coordinates[i][1] <= 10^4
  • coordinates 中不含重复的点
  • 方法一:...没想到居然用时最少,,,,,,自己写的拉跨的一批
  • public class Solution {
        public bool CheckStraightLine(int[][] coordinates) {
            int len = coordinates.Length;
            if(len==2) return true;
            bool isX=false,isY=false;
            if(coordinates[1][0]==coordinates[0][0]) isY=true;
            else if(coordinates[1][1]==coordinates[0][1]) isX=true;
            for(int i=1;i

    方法二:

  • public class Solution {
        public bool CheckStraightLine(int[][] coordinates) {
            int len = coordinates.Length;
            if(len==2) return true;
            int iX=coordinates[1][0]-coordinates[0][0],iY=coordinates[1][1]-coordinates[0][1];
            for(int i=2;i

你可能感兴趣的:(一天二算法(LeetCode),leetcode,算法)