ধনাত্মক দৈর্ঘ্য সম্বিষ্ট একটি nums অ্যারে দেওয়া আছে। এর থেকে তিনটি মান বেছে নিয়ে সম্ভাব্য সর্বোচ্চ পেরিমিটার والے ত্রিভুজ বানাতে হবে। অসম্ভব হলে ০ ফেরত দিন।
যেমন, [8,3,6,4,2,5] হলে আউটপুট ১৯।
সমাধানের ধাপসমূহ
- nums সর্ট করুন।
- a := nums.pop(), b := nums.pop(), c := nums.pop() (সবচেয়ে বড় তিনটি)
- যখন b + c <= a:
- যদি nums খালি হয়, তবে ০ ফেরত দিন।
- a := b, b := c, c := nums.pop()
- a + b + c ফেরত দিন।
উদাহরণ
def solve(nums):
nums.sort()
a, b, c = nums.pop(), nums.pop(), nums.pop()
while b + c <= a:
if not nums:
return 0
a, b, c = b, c, nums.pop()
return a + b + c
nums = [8,3,6,4,2,5]
print(solve(nums))
ইনপুট
[8,3,6,4,2,5]
আউটপুট
19