কম্পিউটার

কমপক্ষে 2 আকারের একটি উপ-তালিকা খুঁজে বের করার জন্য প্রোগ্রাম যার যোগফল পাইথনে k এর একাধিক


ধরুন আমাদের কাছে অ-ঋণাত্মক সংখ্যার একটি তালিকা আছে যাকে বলা হয় সংখ্যা এবং আরেকটি ধনাত্মক মান k। অন্তত 2 দৈর্ঘ্যের এমন কোনো সাবলিস্ট আছে কি না, যার যোগফল k এর গুণিতক বা না তা আমাদের পরীক্ষা করতে হবে।

সুতরাং, যদি ইনপুটটি nums =[12, 6, 3, 4] k =5 এর মত হয়, তাহলে আউটপুটটি True হবে, কারণ সাবলিস্টটি হল [12, 3] যোগফল 15 যা 5 দ্বারা বিভাজ্য।

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

  • সমষ্টি :=0
  • m :=একটি নতুন মানচিত্র
  • m[0] :=-1
  • আমি 0 থেকে সংখ্যার আকারের মধ্যে,
      করুন
    • সমষ্টি :=যোগফল + সংখ্যা[i]
    • সমষ্টি :=সমষ্টি মোড k
    • যদি যোগফল m এ থাকে, তাহলে
      • যদি i - m[sum]>=2, তাহলে
        • সত্য ফেরান
    • অন্যথায়,
      • m[সমষ্টি] :=i
  • মিথ্যে ফেরত দিন

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

উদাহরণ

class Solution:
   def solve(self, nums, k):
      sum = 0
      m = {}
      m[0] = -1
      for i in range(0, len(nums)):
         sum += nums[i]
         sum %= k
         if sum in m:
            if i - m[sum] >= 2:
               return True
         else:
            m[sum] = i
      return False
ob = Solution()
nums = [12, 6, 3, 4]
k = 5
print(ob.solve(nums, k))

ইনপুট

[12, 6, 3, 4], 5

আউটপুট

True

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

  2. পাইথন প্রোগ্রামে অ্যারের সমষ্টি খুঁজুন

  3. পাইথন প্রোগ্রাম একটি তালিকার ক্রমবর্ধমান যোগফল খুঁজে বের করতে

  4. অ্যারের যোগফল খুঁজে পেতে পাইথন প্রোগ্রাম