কম্পিউটার

পাইথনের বৃহত্তম ত্রিভুজ এলাকা


ধরুন আমাদের একটি সমতলে পয়েন্টের তালিকা আছে। আমাদের সবচেয়ে বড় ত্রিভুজটির ক্ষেত্রফল খুঁজে বের করতে হবে যেটি বিন্দুর যেকোনো 3 দ্বারা গঠিত হতে পারে।

সুতরাং, যদি ইনপুটটি [[0,0],[0,1],[1,0],[0,2],[2,0]] এর মত হয়, তাহলে আউটপুট হবে 2

পাইথনের বৃহত্তম ত্রিভুজ এলাকা

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • res :=0
  • N :=পয়েন্ট তালিকার আকার
  • আমি 0 থেকে N - 2 রেঞ্জের জন্য, কর
      i + 1 থেকে N - 1 পর্যন্ত j-এর জন্য
    • করুন
        i + 2 থেকে N রেঞ্জে k এর জন্য
      • করুন
        • (x1, y1) :=পয়েন্ট[i],
        • (x2, y2) :=পয়েন্ট[j],
        • (x3, y3) :=পয়েন্ট[k]
        • res :=res এর সর্বোচ্চ, 0.5 * |x1 *(y2 - y3) + x2 *(y3 - y1) + x3 *(y1 - y2)
  • রিটার্ন রিটার্ন

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

উদাহরণ

class Solution:
   def largestTriangleArea(self, points):
      res = 0
      N = len(points)
      for i in range(N - 2):
         for j in range(i + 1, N - 1):
            for k in range(i + 2, N):
               (x1, y1), (x2, y2), (x3, y3) = points[i],points[j],points[k]
               res = max(res, 0.5 * abs(x1 * (y2 - y3) + x2 * (y3 - y1) + x3 * (y1 - y2)))
      return res
ob = Solution()
print(ob.largestTriangleArea([[0,0],[0,1],[1,0],[0,2],[2,0]]))

ইনপুট

[[0,0],[0,1],[1,0],[0,2],[2,0]]

আউটপুট

2.0

  1. C++ এ ষড়ভুজে খোদিত বৃহত্তম ত্রিভুজের ক্ষেত্রফল

  2. পাইথনে বহুভুজের এলাকা খুঁজে বের করার জন্য প্রোগ্রাম

  3. পাইথনে হিস্টোগ্রামের অধীনে বৃহত্তম আয়তক্ষেত্র এলাকা খুঁজে বের করার প্রোগ্রাম

  4. পাইথনে হিস্টোগ্রামে সবচেয়ে বড় আয়তক্ষেত্র