Skip to content

Commit b5ca0b3

Browse files
authored
Create sum-of-absolute-differences-in-a-sorted-array.cpp
1 parent 449c99b commit b5ca0b3

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
// Time: O(n)
2+
// Space: O(1)
3+
4+
class Solution {
5+
public:
6+
vector<int> getSumAbsoluteDifferences(vector<int>& nums) {
7+
int prefix = 0, suffix = accumulate(cbegin(nums), cend(nums), 0);
8+
vector<int> result;
9+
for (int i = 0; i < size(nums); ++i) {
10+
suffix -= nums[i];
11+
result.emplace_back((i * nums[i] - prefix) + (suffix - ((size(nums) - 1) - i) * nums[i]));
12+
prefix += nums[i];
13+
}
14+
return result;
15+
}
16+
};

0 commit comments

Comments
 (0)