ধরুন আমাদের কাছে ধনাত্মক দৈর্ঘ্যের একটি অ্যারের সংখ্যা আছে, সেই অ্যারে থেকে তিনটি মান নিয়ে আমাদের একটি ত্রিভুজের বৃহত্তম পরিধি খুঁজে বের করতে হবে। যখন অ-শূন্য ক্ষেত্রফলের কোনো ত্রিভুজ গঠন করা অসম্ভব, তখন 0 ফেরত দিন।
সুতরাং, ইনপুট যদি [8,3,6,4,2,5] এর মত হয়, তাহলে আউটপুট হবে 19।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
-
তালিকার সংখ্যাগুলি সাজান
-
a :=সংখ্যা থেকে শেষ উপাদান মুছুন
-
b :=সংখ্যা থেকে শেষ উপাদান মুছুন
-
c :=সংখ্যা থেকে শেষ উপাদান মুছুন
-
যখন b+c <=a, do
-
যদি সংখ্যাগুলি অ-শূন্য হয়, তাহলে
-
রিটার্ন 0
-
-
a :=b
-
b :=c
-
c :=সংখ্যা থেকে শেষ উপাদান মুছুন
-
-
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