কম্পিউটার

পাইথনে 3 যোগফল


ধরুন আমাদের কাছে সংখ্যার একটি অ্যারে আছে। এটি n পূর্ণসংখ্যা সঞ্চয় করে, অ্যারেতে a, b, c উপাদান রয়েছে, যেমন a + b + c =0। অ্যারেতে সমস্ত অনন্য ট্রিপলেট খুঁজুন যা পরিস্থিতিকে সন্তুষ্ট করে। সুতরাং যদি অ্যারেটি [-1,0,1,2,-1,-4] এর মত হয়, তাহলে ফলাফল হবে [[-1, 1, 0], [-1, -1, 2]]

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • অ্যারের সংখ্যাগুলি সাজান, এবং একটি অ্যারের রেস সংজ্ঞায়িত করুন
  • আমি পরিসীমা 0 থেকে সংখ্যার দৈর্ঘ্য - 3
    • যদি i> 0 এবং nums[i] =nums[i - 1], তাহলে পরবর্তী অংশটি এড়িয়ে যান এবং চালিয়ে যান
    • l :=i + 1 এবং r :=সংখ্যার দৈর্ঘ্য – 1
    • যখন l
    • সমষ্টি :=সংখ্যার যোগফল[i], সংখ্যা[l] এবং সংখ্যা[r]
    • যদি যোগফল <0, তারপর l :=l + 1, অন্যথায় যখন যোগফল> 0, তারপর r :=r – 1
    • অন্যথায় রেস অ্যারেতে nums[i], nums[l], nums[r] ঢোকান
    • যখন l <সংখ্যার দৈর্ঘ্য – 1 এবং সংখ্যা[l] =সংখ্যা[l + 1]
      • l 1 দ্বারা বাড়ান
    • যখন r> 0 এবং nums[r] =nums[r - 1]
      • r 1 দ্বারা হ্রাস করুন
    • l 1 দ্বারা বাড়ান এবং r 1 দ্বারা হ্রাস করুন
  • রিটার্ন রিটার্ন
  • উদাহরণ(পাইথন)

    আসুন আরও ভালোভাবে বোঝার জন্য নিচের বাস্তবায়ন দেখি −

    class Solution(object):
       def threeSum(self, nums):
          nums.sort()
          result = []
          for i in range(len(nums)-2):
             if i> 0 and nums[i] == nums[i-1]:
                continue
             l = i+1
             r = len(nums)-1
             while(l<r):
                sum = nums[i] + nums[l] + nums[r]
                if sum<0:
                   l+=1
                elif sum >0:
                   r-=1
                else:
                   result.append([nums[i],nums[l],nums[r]])
                   while l<len(nums)-1 and nums[l] == nums[l + 1] : l += 1
                   while r>0 and nums[r] == nums[r - 1]: r -= 1
                   l+=1
                   r-=1
          return result
    ob1 = Solution()
    print(ob1.threeSum([-1,0,1,2,-1,-4]))

    ইনপুট

    [-1,0,1,2,-1,-4]

    আউটপুট

    [[-1,-1,2],[-1,0,1]]

    1. issuperset() পাইথনে

    2. কলযোগ্য() পাইথনে

    3. পাইথনে আন্ডারস্কোর(_)

    4. পাইথনে কুইন