কম্পিউটার টিউটোরিয়াল

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


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

উদাহরণ: nums = [2, 4, 8] হলে আউটপুট 24, কারণ |2-4|+|2-8|+|4-2|+|4-8|+|8-2|+|8-4| = 24।

সমাধানের ধাপসমূহ

  • m = 10^9 + 7
  • total := 0
  • i = 0 থেকে len(nums)-1: total += (i*nums[i] - (len(nums)-1-i)*nums[i]) % m
  • (2*total) % 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. পাইথনে লিস্টের সব পেয়ারের অ্যাবসোলিউট ডিফারেন্সের যোগফল