मान लीजिए हमारे पास nums नामक संख्याओं की एक सूची है, हमें सबसे बड़ी संख्या k ढूंढनी है जहां k और -k दोनों nums में मौजूद हों (वे समान संख्या हो सकते हैं)। यदि ऐसा कोई तत्व नहीं है, तो -1 लौटाएं।
उदाहरण के लिए, यदि इनपुट है [-5, 2, 9, -6, 5, -9], तो आउटपुट होगा 9।
हल करने के चरण
L1 :=numsमें 0 और धनात्मक तत्वों की सूची।L2 :=numsमें 0 और ऋणात्मक तत्वों की सूची।L1को उल्टे क्रम में क्रमबद्ध करें।L2सूची को क्रमबद्ध करें।- प्रत्येक
iके लिएL1में:- प्रत्येक
jके लिएL2में:- यदि
i + j == 0, तोiलौटाएं। - अन्यथा जब
i + j > 0, तो वर्तमान लूप से बाहर निकलें।
- यदि
- प्रत्येक
-1लौटाएं।
उदाहरण
class Solution:
def solve(self, nums):
L1 = [i for i in nums if i >= 0]
L2 = [i for i in nums if i <= 0]
L1.sort(reverse=True)
L2.sort()
for i in L1:
for j in L2:
if i + j == 0:
return i
elif i + j > 0:
break
return -1
ob = Solution()
nums = [-5, 2, 9, -6, 5, -9]
print(ob.solve(nums))
इनपुट
[-5, 2, 9, -6, 5, -9]
आउटपुट
9