ধরুন আমাদের একটি কার্টেসিয়ান সমতলে একটি তালিকা স্থানাঙ্ক রয়েছে, আমাদের পরীক্ষা করতে হবে যে স্থানাঙ্কগুলি একটি সরল রেখার অংশ তৈরি করে কিনা।
সুতরাং, যদি ইনপুট স্থানাঙ্কের মত হয় =[(5, 5),(8, 8),(9, 9)], তাহলে আউটপুট হবে True, কারণ এই বিন্দুগুলি 1 ঢালের সাথে একটি লাইন সেগমেন্ট তৈরি করছে।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- (x0, y0) :=স্থানাঙ্ক[0]
- (x1, y1) :=স্থানাঙ্ক[1]
- আমি পরিসীমা 2 থেকে স্থানাঙ্ক তালিকার আকার - 1 এর জন্য, কর
- (x, y) :=স্থানাঙ্ক[i]
- যদি (x0 - x1) * (y1 - y) (x1 - x) * (y0 - y1) এর মতো না হয়, তাহলে
- মিথ্যে ফেরত দিন
- সত্য ফেরান
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
উদাহরণ
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