কম্পিউটার

পাইথনে K এবং -K


ধরুন আমাদের কাছে 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, তারপর
        • বর্তমান লুপ থেকে বেরিয়ে আসুন
  • রিটার্ন -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

  1. নোড মুছুন এবং পাইথনে বন ফেরত দিন

  2. Python এ পারমুটেশন এবং কম্বিনেশন?

  3. পাইথনে =+ এবং +=কি করে?

  4. কিভাবে আমরা একটি স্ট্রিং মূল্যায়ন করব এবং পাইথনে একটি বস্তু ফেরত দেব?