Giả sử chúng ta có một danh sách tọa độ trong một mặt phẳng Descartes, chúng ta phải kiểm tra xem tọa độ có tạo thành một đoạn thẳng hay không.
Vì vậy, nếu đầu vào giống như tọa độ =[(5, 5), (8, 8), (9, 9)], thì đầu ra sẽ là True, vì các điểm này đang tạo thành một đoạn thẳng có độ dốc 1.
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
- (x0, y0):=toạ độ [0]
- (x1, y1):=toạ độ [1]
- đối với tôi trong phạm vi 2 đến kích thước của danh sách tọa độ - 1, thực hiện
- (x, y):=toạ độ [i]
- nếu (x0 - x1) * (y1 - y) không giống với (x1 - x) * (y0 - y1), thì
- trả về Sai
- trả về True
Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -
Ví dụ
class Solution: def solve(self, coordinates): (x0, y0), (x1, y1) = coordinates[0], coordinates[1] for i in range(2, len(coordinates)): x, y = coordinates[i] if (x0 - x1) * (y1 - y) != (x1 - x) * (y0 - y1): return False return True ob = Solution() coordinates = [[5, 5],[8, 8],[9, 9]] print(ob.solve(coordinates))
Đầu vào
[[5, 5],[8, 8],[9, 9]]
Đầu ra
True