কম্পিউটার

পরবর্তী সর্বাধিক যোগফল খুঁজে বের করার প্রোগ্রাম, যেখানে দুটি মানের পার্থক্য পাইথনে তাদের অবস্থানের পার্থক্যের সমান


ধরুন আমাদের কাছে সংখ্যা নামক সংখ্যার একটি তালিকা আছে, আমরা কঠোরভাবে ক্রমবর্ধমান মানগুলির একটি অনুক্রম নির্বাচন করি, যেখানে প্রতিটি দুটি সংখ্যার পার্থক্য তাদের দুটি সূচকের পার্থক্যের সমান। তাই আমাদেরকে এই ধরনের পরের সর্বোচ্চ যোগফল খুঁজে বের করতে হবে।

সুতরাং, যদি ইনপুটটি nums =[6, 7, 9, 9, 8, 5] এর মত হয়, তাহলে আউটপুট হবে 22, যেহেতু আমরা পরবর্তী [6, 7, 9] নির্বাচন করি যার সূচকগুলি হল [0, 1, 3]। প্রতিটি ধারাবাহিক সংখ্যার মধ্যে পার্থক্য হল [1, 2] যা তাদের সূচকের পার্থক্যের সমান।

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

  • d :=একটি খালি মানচিত্র

  • প্রতিটি সূচকের জন্য i এবং মান x সংখ্যায়, করুন

    • d[x − i] :=d[x − i] + x

  • d

    -এ সমস্ত মান সর্বাধিক ফেরত দিন

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

উদাহরণ

class Solution:
   def solve(self, nums):
      from collections import defaultdict
      d = defaultdict(int)
      for i, x in enumerate(nums):
         d[x − i] += x
      return max(d.values())

ob1 = Solution()
nums = [6, 7, 9, 9, 8, 5]
print(ob1.solve(nums))

ইনপুট

[6, 7, 9, 9, 8, 5]

আউটপুট

22

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

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

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

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