मान लीजिए हमारे पास nums नामक सकारात्मक लंबाई की एक सरणी है, हमें उस सरणी से तीन मान लेकर त्रिकोण की सबसे बड़ी परिधि ढूंढनी है। जब शून्येतर क्षेत्रफल वाले किसी त्रिकोण को बनाना असंभव हो, तो 0 वापस करें।
उदाहरण के लिए, यदि इनपुट [8,3,6,4,2,5] है, तो आउटपुट 19 होगा।
हल करने के चरण
सूची nums को सॉर्ट करें
a := nums से अंतिम तत्व हटाएं
b := nums से अंतिम तत्व हटाएं
c := nums से अंतिम तत्व हटाएं
जब तक b+c <= a, करें
यदि nums शून्येतर नहीं है, तो
0 वापस करें
a := b
b := c
c := nums से अंतिम तत्व हटाएं
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