程序在Python的排序列表中查找每对绝对差之和
假设我们有一个称为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|。
为了解决这个问题,我们将遵循以下步骤-
m=10^9+7
总计:=0
对于范围从0到nums的i,执行
总数:=总数+(i*nums[i]-(nums的大小-1-i)*nums[i])modm
返回(2*total)modm
让我们看下面的实现以更好地理解-
示例
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
热门推荐
10 朋友新年祝福语大全 简短
11 新年祝福语简短大方兔年
12 搬新家礼物祝福语简短
13 同学见面花束祝福语简短
14 五一假期祝福语幽默简短
15 离职欢送敬酒祝福语简短
16 对学弟的祝福语简短
17 考老师辞职祝福语简短
18 祝福语驱散霉运的话简短