InterviewBit Academy is now Scaler!
InterviewBit Academy is now Scaler Academy!

Equal Average Partition


Problem Description

Given an array A with non negative numbers, divide the array into two parts such that the average of both the parts is equal.

Return both parts (If exist). If there is no solution. return an empty list.

NOTE:

If a solution exists, you should return a list of exactly 2 lists of integers A and B which follow the following condition :
  • numElements in A <= numElements in B
  • If numElements in A = numElements in B, then A is lexicographically smaller than B ( https://en.wikipedia.org/wiki/Lexicographical_order )
  • If multiple solutions exist, return the solution where length(A) is minimum. If there is still a tie, return the one where A is lexicographically smallest.

    Array will contain only non negative numbers.



    **Input Format**

    First andonly argument is an integer array A.



    **Output Format**

    Return 2D array consisting of two rows where each row denoted a partition.



    **Example Input**

    Input 1:

     A = [1 7 15 29 11 9]
    


    Example Output

    Output 1:

     [9 15] [1 7 11 29]
    


    Example Explanation

    Explanation 1:

     The average of part is (15+9)/2 = 12, average of second part elements is (1 + 7 + 11 + 29) / 4 = 12
    


    NOTE: You only need to implement the given function. Do not read input, instead use the arguments to the function. Do not print the output, instead return values as specified. Still have a doubt? Checkout Sample Codes for more details.
    Start solving Equal Average Partition on Interview Code Editor
    Sign Up
    to access hints and editorial solutions for Equal Average Partition
    Asked In:

    Discussion


    Loading...
    Click here to start solving coding interview questions