मान लीजिए हमारे पास कार्टेशियन प्लेन में निर्देशांकों की एक सूची है, हमें जांचना है कि क्या ये निर्देशांक एक सीधी रेखा खंड बनाते हैं या नहीं।
उदाहरण के लिए, यदि इनपुट coordinates = [(5, 5), (8, 8), (9, 9)] है, तो आउटपुट True होगा, क्योंकि ये बिंदु ढलान 1 वाली एक रेखा खंड बनाते हैं।
समाधान दृष्टिकोण
इसे हल करने के लिए हम निम्नलिखित चरणों का पालन करेंगे (क्रॉस प्रोडक्ट / ढलान तुलना):
(x0, y0) := coordinates[0],(x1, y1) := coordinates[1]iको 2 सेlen(coordinates)-1तक:(x, y) := coordinates[i]- यदि
(x0-x1)*(y1-y) != (x1-x)*(y0-y1):Falseलौटाएं
Trueलौटाएं
उदाहरण कोड
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))इनपुट
[[5, 5], [8, 8], [9, 9]]
आउटपुट
True