কম্পিউটার

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


ধরুন আমাদের কাছে বাছাই করা সংখ্যার একটি তালিকা আছে যাকে বলা হয় সংখ্যা, আমাদের প্রদত্ত তালিকার প্রতিটি জোড়া সংখ্যার মধ্যে পরম পার্থক্যের যোগফল খুঁজে বের করতে হবে। এখানে আমরা বিবেচনা করব (i, j) এবং (j, i) আলাদা জোড়া। উত্তরটি খুব বড় হলে, ফলাফলটি 10^9+7 দ্বারা পরিবর্তন করুন।

সুতরাং, ইনপুট যদি nums =[2, 4, 8] এর মত হয়, তাহলে আউটপুট হবে 24, যেমন |2 - 4| + |2 - 8| + |4 - 2| + |4 - 8| + |8 - 2| + |8 - 4|।

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

  • m =10^9 + 7

  • মোট :=0

  • আমি 0 থেকে সংখ্যার আকারের মধ্যে, কর

    • মোট :=মোট +(i*সংখ্যা[i] - (সংখ্যার আকার - 1 - i) *সংখ্যা[i]) মোড m

  • রিটার্ন (2*মোট) মোড m

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

উদাহরণ

class Solution:
   def solve(self, nums):
      m = 10**9 + 7
      total = 0
      for i in range(len(nums)):
         total += (i*nums[i] - (len(nums) - 1 - i)*nums[i]) % m
      return (2*total) % m
ob = Solution()
nums = [2, 4, 8]
print(ob.solve(nums))

ইনপুট

[2, 4, 8]

আউটপুট

24

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

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

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

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