Tarjeta perforada Likou 2021.1.17 punteada en una línea

Tema:
Hay algunos puntos en un sistema de coordenadas XY. Usamos las coordenadas de la matriz para registrar sus coordenadas por separado, donde coordenadas [i] = [x, y] representan el punto con la abscisa como x y la ordenada como y.

Juzgue si estos puntos están en la misma línea recta en el sistema de coordenadas. Si es así, devuelva verdadero, de lo contrario, devuelva falso.

Ejemplo 1:
Entrada: coordenadas = [[1,2], [2,3], [3,4], [4,5], [5,6], [6,7]]
Salida: verdadero
Ejemplo 2:
Entrada: coordenadas = [[1,1], [2,2], [3,4], [4,5], [5,6], [7,7]]
Salida: falso

Código:

class Solution {
    
    
public:
    bool checkStraightLine(vector<vector<int>>& coordinates) {
    
    
        int n = coordinates.size();
        for(int i=1;i<coordinates.size()-1;++i){
    
    
            if((coordinates[i][0] - coordinates[0][0])*(coordinates[i][1] - coordinates[n-1][1])
                !=
                (coordinates[i][1] - coordinates[0][1])*(coordinates[i][0] - coordinates[n-1][0]))
        return false;
        }
        return true;
   }
};

Supongo que te gusta

Origin blog.csdn.net/weixin_45780132/article/details/112727984
Recomendado
Clasificación