কম্পিউটার

পাইথনে সংখ্যার তালিকা থেকে পাটিগণিতের অনুগামী সংখ্যা বের করার প্রোগ্রাম?


ধরুন আমাদের কাছে সংখ্যা নামক সংখ্যার একটি তালিকা আছে, আমাদের দৈর্ঘ্য ≥ 3 এর পাটিগণিতিক অনুক্রমের সংখ্যা খুঁজে বের করতে হবে। যেমন আমরা জানি একটি গাণিতিক ক্রম হল সংখ্যার একটি তালিকা যেখানে একটি সংখ্যা এবং পরবর্তী সংখ্যার মধ্যে পার্থক্য একই।

সুতরাং, যদি ইনপুটটি সংখ্যার মত হয় =[6, 12, 13, 8, 10, 14], তাহলে আউটপুট হবে 3, যেমন আমাদের পরবর্তি আছে যেমন:[6, 8, 10], [6, 10, 14] ], [12, 13, 14]।

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

  • dp :=একটি নতুন মানচিত্র

  • n :=সংখ্যার আকার

  • res :=0

  • 0 থেকে n রেঞ্জের জন্য, করুন

    • 0 থেকে i রেঞ্জে j এর জন্য, করুন

      • পার্থক্য :=সংখ্যা[i] - সংখ্যা[j]

      • পূর্ববর্তী :=dp[(i, diff)] যদি এটি উপস্থিত না থাকে, তাহলে 0

      • prevprev :=dp[(j, diff)] যদি এটি উপস্থিত না থাকে, তাহলে 0

      • dp[i, diff] :=prev + prevprev + 1

      • res :=res + prevprev

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

উদাহরণ

class Solution:
   def solve(self, nums):
      dp = {}
      n = len(nums)
      res = 0
      for i in range(n):
         for j in range(i):
            diff = nums[i] - nums[j]

            prev = dp.get((i, diff), 0)
            prevprev = dp.get((j, diff), 0)
            dp[(i, diff)] = prev + prevprev + 1

            res += prevprev
      return res

ob = Solution()
nums = [6, 12, 13, 8, 10, 14]
print(ob.solve(nums))

ইনপুট

[6, 12, 13, 8, 10, 14]

আউটপুট

3

  1. পাইথন প্রোগ্রাম একটি তালিকার ক্ষুদ্রতম সংখ্যা খুঁজে বের করতে

  2. পাইথন প্রোগ্রাম একটি তালিকায় সবচেয়ে বড় সংখ্যা খুঁজে বের করতে

  3. পাইথন প্রোগ্রাম একটি তালিকায় সবচেয়ে বড় সংখ্যা খুঁজে বের করতে

  4. একটি তালিকা থেকে N বৃহত্তম উপাদান খুঁজে পেতে পাইথন প্রোগ্রাম