মান লেই আমাদের একটি অ্যারে A আছে পজিটিভ দৈর্ঘ্যের সাথে, আমাদের ৩টি দৈর্ঘ্য ব্যবহার করে নন-জিরো এরিয়ায় একটি ট্রায়্যাঙ্গেলের লার্জেস্ট পেরিমিটার বের করতে হবে। যদি কোনো ট্রায়্যাঙ্গেল তৈরি করা নাও যায় তবে ০ রিটার্ন করবে।
সেজন্য, যদি ইনপুট হয় [3,6,2,3], তবে আউটপুট হবে ৮।
এটি সমাধান করার জন্য আমরা নিচের ধাপগুলো অনুসরণ করব −
- লিস্ট A সর্ট করুন
- a := A-এর শেষ এলিমেন্ট ডিলিট করুন
- b := A-এর শেষ এলিমেন্ট ডিলিট করুন
- c := A-এর শেষ এলিমেন্ট ডিলিট করুন
- যখন b+c <= a, লুপ চালান
- যদি A খালি হয়, তবে
- 0 রিটার্ন
- a := b
- b := c
- c := A-এর শেষ এলিমেন্ট ডিলিট
- যদি A খালি হয়, তবে
- a+b+c রিটার্ন
বেস্টার বোঝার জন্য নিচের ইম্প্লিমেন্টেশন দেখুন −
উদাহরণ
class Solution:
def largestPerimeter(self, A):
A.sort()
a, b, c = A.pop(), A.pop(), A.pop()
while b + c <= a:
if not A:
return 0
a, b, c = b, c, A.pop()
return a + b + c
ob = Solution()
print(ob.largestPerimeter([3,6,2,3]))
ইনপুট
[3,6,2,3]
আউটপুট
8