Найдите уравнение прямой, проходящей через данные точки

Опубликовано: 20 Сентября, 2022

Дан массив arr , содержащий N координатных точек на плоскости. Задача состоит в том, чтобы проверить, лежат ли координатные точки на прямой или нет. Если они лежат на прямой, то выведите Yes , а также уравнение этой прямой, иначе выведите No.

Пример:

Input: arr[] = {{1, 1}, {2, 2}, {3, 3}} 
Output: 
Yes
1x- 1y=0

Input: arr[] = {{0, 1}, {2, 0}}
Output:
Yes
2y+x-2 = 0

Input: arr[] = {{1, 5}, {2, 2}, {4, 6}, {3, 5}}
Output: No

Подход: Идея состоит в том, чтобы найти уравнение линии, которая может быть образована с использованием любой пары точек, заданных в массиве, и если все остальные точки удовлетворяют уравнению линии, образованной с использованием пары точек, то все эти точки вместе образуют прямую линию. Итак, если все точки удовлетворяют уравнению прямой, то выведите « Да », а затем уравнение прямой, иначе выведите «Нет ».

Ниже приведена реализация вышеуказанного подхода:


Временная сложность: O(N)
Вспомогательное пространство: O(1)