Sum of Absolute Differences in a Sorted Array (Sum of absolute differences in a sorted array in C++)

Problem-solving ideas:

(1) Mathematical thinking, violent solution will overtime

class Solution {
public:
    vector<int> getSumAbsoluteDifferences(vector<int>& nums) {
        int len=nums.size(),total=0,sum=0;
        vector<int> v;
        for(int i=0;i<nums.size();i++) {
            total+=nums[i];
        }
        
        for(int i=0;i<nums.size();i++) {
            v.push_back(total-2*sum-nums[i]+(2*i-len+1)*nums[i]);
            sum+=nums[i];
        }
        return v;
    }
};

 

Guess you like

Origin blog.csdn.net/coolsunxu/article/details/114885461