Balance Array

 https://www.interviewbit.com/old/problems/balance-array/

int Solution::solve(vector<int> &A) {

    int even = 0 , odd = 0;
    int n = A.size();
    for ( int i = 0 ; i < n ; ++i){

        if ( i % 2 == 0){
            even = even + A[i];
        }else 
            odd = odd + A[i];

    }
    int count = 0 ;
    int evensofar = 0 , oddsofar = 0;

    for ( int i = 0 ; i < n ; ++i){

        if ( i % 2 == 0){
            even = even - A[i];

            if ( evensofar + odd == even + oddsofar)
                count ++;

            evensofar = evensofar+A[i];
        }else {

            odd = odd - A[i];
            if (evensofar + odd == even + oddsofar)
                count ++;

            oddsofar = oddsofar + A[i];

        }



    }
return count;

}
 

Comments

Popular posts from this blog

Perfect Peak of Array

Is Rectangle?

Sort array with squares!