Super easy c++ solution
Anonymous User
239
class Solution {
public:
    int minimumAverageDifference(vector<int>& nums) {
       vector<unsigned long long> vec;
        if(nums.size()==1) return 0;
        long long sum = 0;
        for(auto it:nums) sum += it;
        unsigned long long pre=0,sum1=0,sum2=sum,s=1;
        unsigned long long n=nums.size()-1;
        for(long long i=0;i<nums.size();i++){
            sum1+=nums[i];
            sum2-=nums[i];
            long long int div1 =sum1/s;
            long long int div2=0;
            if((nums.size()-1-i)!=0) 
            div2=sum2/(n-i);
            else div2=0;
         vec.push_back(abs(div1-div2));
            s++; 
        }
        int ind=0;
        unsigned long long minm=INT_MAX;
       for(unsigned long long i=0;i<nums.size();i++){ 
          if(vec[i]<minm) {
		  ind=i;
          minm=vec[i];
           }
       }
       return ind; 
    }
};
Comments (0)