मान लीजिए कि हमारे पास संख्याओं की एक सूची है जिसे अंक कहा जाता है, हमें सबसे बड़ी संख्या k ज्ञात करनी है जहां kand -k दोनों अंकों में मौजूद हैं (वे एक ही संख्या हो सकती हैं)। अगर ऐसा कोई तत्व नहीं है, तो -1 लौटाएं।
इसलिए, अगर इनपुट [-5, 2, 9, -6, 5, -9] जैसा है, तो आउटपुट 9 होगा।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- L1:=0 की सूची और अंकों में सकारात्मक तत्व
- L2:=0 की सूची और अंकों में नकारात्मक तत्व
- L1 को उल्टे क्रम में क्रमित करें
- सूची L2 को क्रमित करें
- L1 में प्रत्येक i के लिए
- . करें
- L2 में प्रत्येक j के लिए
- . करें
- यदि i+j 0 के समान है, तो
- वापसी मैं
- अन्यथा जब i+j> 0 , तब
- वर्तमान लूप से बाहर आएं
- यदि i+j 0 के समान है, तो
- L2 में प्रत्येक j के लिए
- वापसी -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