কম্পিউটার

একটি জোড়া (i, j) খুঁজতে প্রোগ্রাম যেখানে nums[i] + nums[j] + (i -j) পাইথনে সর্বাধিক করা হয়?


ধরুন আমাদের কাছে nums নামে একটি সংখ্যার তালিকা আছে, আমাদের একটি জোড়া (i, j) খুঁজে বের করতে হবে যেখানে i

সুতরাং, ইনপুট যদি nums =[6, 6, 2, 2, 2, 8] এর মত হয়, তাহলে আউটপুট হবে 11, যেমন আমরা দুটি 6 বেছে নিই তাহলে এর স্কোর হল 6 + 6 + 0 - 1 =11।

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

  • বড় :=সংখ্যা[0]

  • ম্যাক্সি :=0

  • আমি রেঞ্জ 1 থেকে সংখ্যার আকারের জন্য, করুন

    • বড় :=বড় - 1

    • ম্যাক্সি :=সর্বাধিক বড় + সংখ্যা[i] এবং ম্যাক্সি

    • বড় :=সর্বাধিক বড় এবং সংখ্যা[i]

  • রিটার্ন ম্যাক্সি

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

উদাহরণ

class Solution:
   def solve(self, nums):
      large = nums[0]

      maxi = 0
      for i in range(1, len(nums)):
         large -= 1
         maxi = max(large + nums[i], maxi)
         large = max(large, nums[i])

      return maxi

ob = Solution()
nums = [6, 6, 2, 2, 2, 8]
print(ob.solve(nums))

ইনপুট

[6, 6, 2, 2, 2, 8]

আউটপুট

11

  1. প্রদত্ত অ্যারের যেকোন সিকোয়েন্সের সর্বোচ্চ আকার খুঁজে বের করার প্রোগ্রাম যেখানে পাইথনে প্রতিটি জোড়া চমৎকার

  2. পাইথনে বহুভুজের এলাকা খুঁজে বের করার জন্য প্রোগ্রাম

  3. পাইথনে বহুভুজের পরিধি খুঁজে বের করার প্রোগ্রাম

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