ধরা যাক 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