কম্পিউটার

প্রোগ্রাম চেক করার জন্য আমরা তিনটি অনন্য উপাদান খুঁজে পেতে পারি এবং যোগফল k বা পাইথনের মতো নয়


ধরুন আমাদের কাছে nums নামে একটি সংখ্যার তালিকা রয়েছে এবং আরেকটি মান k, আমাদের পরীক্ষা করতে হবে যে তালিকায় আমরা তিনটি অনন্য উপাদান খুঁজে পাব কিনা যার যোগফল k।

সুতরাং, ইনপুট যদি nums =[11, 4, 6, 10, 5, 1] ​​k =20 এর মত হয়, তাহলে আউটপুট হবে True, যেমন আমাদের সংখ্যা [4,6,10] যার যোগফল 20।

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

  • তালিকার সংখ্যাগুলি সাজান

  • l :=0, r :=সংখ্যার আকার − 1

  • যখন l

    • t :=k − nums[l] − nums[r]

    • যদি সংখ্যা [r − 1]

      • l :=l + 1

      • লুপ থেকে বেরিয়ে আসুন

    • l + 1 থেকে r পরিসরে m এর জন্য, করুন

      • যদি nums[m]> t হয়, তাহলে

        • r :=r − 1

        • লুপ থেকে বেরিয়ে আসুন

      • যদি nums[m] t এর মত হয়, তাহলে

        • রিটার্ন ট্রু

  • রিটার্ন ফলস

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

উদাহরণ

class Solution:
   def solve(self, nums, k):
      nums.sort()
      l, r = 0, len(nums) − 1
      while l < r − 1:
         t = k − nums[l] − nums[r]
         if nums[r − 1] < t:
            l += 1
            continue
         for m in range(l + 1, r):
            if nums[m] > t:
               r −= 1
               break
            if nums[m] == t:
               return True
      return False
ob1 = Solution()
nums = [11, 4, 6, 10, 5, 1]
k = 20
print(ob1.solve(nums, k))

ইনপুট

[11, 4, 6, 10, 5, 1], 20

আউটপুট

True

  1. একটি সংখ্যা পরীক্ষা করার প্রোগ্রামটি স্বতন্ত্র ফ্যাক্টরিয়াল সংখ্যার যোগফল হিসাবে লেখা যেতে পারে বা পাইথনে নয়

  2. পাইথনে সবগুলো অনন্য হলে তিনটি উপাদানের পণ্য খুঁজে বের করার প্রোগ্রাম

  3. পাইথন প্রোগ্রামে তালিকায় উপাদানের যোগফল খুঁজুন

  4. পাইথন প্রোগ্রাম তালিকায় উপাদানের যোগফল খুঁজে বের করতে