ধরুন আমাদের কাছে nums নামক সংখ্যার একটি তালিকা আছে, আমাদের সবচেয়ে বড় সংখ্যা 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
- অন্যথায় যখন 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