
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Sum of Absolute Differences of Every Pair in a Sorted List in Python
Suppose we have a list of sorted numbers called nums, we have to find the sum of the absolute differences between every pair of numbers in the given list. Here we will consider (i, j) and (j, i) are different pairs. If the answer is very large, mod the result by 10^9+7.
So, if the input is like nums = [2, 4, 8], then the output will be 24, as |2 - 4| + |2 - 8| + |4 - 2| + |4 - 8| + |8 - 2| + |8 - 4|.
To solve this, we will follow these steps −
m = 10^9 + 7
total := 0
-
for i in range 0 to size of nums, do
total := total +(i*nums[i] - (size of nums - 1 - i) *nums[i]) mod m
return (2*total) mod m
Let us see the following implementation to get better understanding −
Example
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))
Input
[2, 4, 8]
Output
24
Advertisements