কম্পিউটার

সাবলিস্টের সংখ্যা খুঁজে বের করার প্রোগ্রাম যার যোগফল পাইথনে টার্গেট দেওয়া হয়েছে


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

সুতরাং, ইনপুট যদি nums =[3, 0, 3] টার্গেট =3 এর মত হয়, তাহলে আউটপুট হবে 4, যেমন আমাদের কাছে এই সাবলিস্ট রয়েছে যার যোগফল 3:[3], [3, 0], [0, ৩], [৩]।

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

  • temp :=একটি খালি মানচিত্র
  • তাপ[0] :=1
  • s :=0
  • উত্তর :=0
  • আমি 0 থেকে সংখ্যার আকারের মধ্যে,
      করুন
    • s :=s + nums[i]
    • comp :=s - লক্ষ্য
    • যদি comp temp-এর মধ্যে থাকে, তাহলে
      • উত্তর :=ans + temp[comp]
    • temp[s] :=temp[s] + 1
  • উত্তর ফেরত দিন

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

উদাহরণ কোড

from collections import defaultdict

class Solution:
   def solve(self, nums, target):
      temp = defaultdict(int)
      temp[0] = 1
      s = 0
      ans = 0
      for i in range(len(nums)):
         s += nums[i]
         comp = s - target
         if comp in temp:
            ans += temp[comp]
            temp[s] += 1
         return ans

ob = Solution()
nums = [3, 0, 3]
target = 3
print(ob.solve(nums, target))

ইনপুট

[3, 0, 3], 3

আউটপুট

4

  1. পাথের সংখ্যা গণনা করার প্রোগ্রাম যার যোগফল পাইথনে k

  2. পাইথনে প্রদত্ত সংখ্যার সমস্ত অঙ্কের যোগফল খুঁজে বের করার প্রোগ্রাম

  3. পাইথন প্রোগ্রামে একটি সংখ্যার জোড় গুণনীয়কের সমষ্টি খুঁজুন

  4. একটি সংখ্যার বিজোড় গুণনীয়কের যোগফল খুঁজে বের করার জন্য পাইথন প্রোগ্রাম