class Solution:
def getSumAbsoluteDifferences(self, nums: List[int]) -> List[int]:
res = []
for i in nums:
sum = 0
for j in nums:
sum += abs(i - j)
res.append(sum)
return resclass Solution:
def getSumAbsoluteDifferences(self, nums: List[int]) -> List[int]:
n = len(nums)
prefix_sum = [0] * n
suffix_sum = [0] * n
res = [0] * n
prefix_sum[0] = nums[0]
for i in range(1, n):
prefix_sum[i] = prefix_sum[i - 1] + nums[i]
suffix_sum[n - 1] = nums[n - 1]
for i in range(n - 2, -1, -1):
suffix_sum[i] = suffix_sum[i + 1] + nums[i]
for i in range(n):
left_sum = (i * nums[i]) - (prefix_sum[i - 1] if i > 0 else 0)
right_sum = (suffix_sum[i + 1] if i < n - 1 else 0) - ((n - i - 1) * nums[i])
res[i] = left_sum + right_sum
return resclass Solution:
def getSumAbsoluteDifferences(self, nums: List[int]) -> List[int]:
n = len(nums)
res = [0] * n
res[n - 1] = nums[n - 1]
for i in range(n - 2, -1, -1):
res[i] = res[i + 1] + nums[i]
prefix_sum = 0
for i in range(n):
left_sum = (i * nums[i]) - prefix_sum
right_sum = (res[i + 1] if i < n - 1 else 0) - ((n - i - 1) * nums[i])
res[i] = left_sum + right_sum
prefix_sum += nums[i]
return resclass Solution:
def getSumAbsoluteDifferences(self, nums: List[int]) -> List[int]:
n = len(nums)
res = [0] * n
total_sum = sum(nums)
prefix_sum = 0
for i, num in enumerate(nums):
total_sum -= nums[i]
left_sum = i * nums[i] - prefix_sum
right_sum = total_sum - (n - i - 1) * nums[i]
res[i] = left_sum + right_sum
prefix_sum += nums[i]
return res