মান লো যাক আমাদের nums নামক একটি সংখ্যার তালিকা আছে, আমাদের সবচেয়ে বড় সংখ্যা k বের করতে হবে যাতে k এবং -k উভয়ই nums-এ থাকে (তারা একই সংখ্যাও হতে পারে)। যদি এমন কোনো এলিমেন্ট না থাকে, তবে -1 রিটার্ন করুন।
উদাহরণস্বরূপ, যদি ইনপুট হয় [-5, 2, 9, -6, 5, -9], তবে আউটপুট হবে 9।
এটি সমাধান করতে আমরা নিচের ধাপগুলো অনুসরণ করব:
- L1 := nums-এ 0 এবং পজিটিভ এলিমেন্টগুলোর তালিকা
- L2 := nums-এ 0 এবং নেগেটিভ এলিমেন্টগুলোর তালিকা
- L1 কে রিভার্স অর্ডারে সর্ট করুন
- L2 তালিকাকে সর্ট করুন
- L1-এ প্রতিটি i জন্য, করুন
- L2-এ প্রতিটি j জন্য, করুন
- यदि i+j, 0 के समान है, तो
- i रिटर्न करें
- अन्यथा जब 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