public void divide(int arr[],List<Integer> list1, List<Integer> list2){
        Arrays.sort(arr);
        int len = arr.length;
        int sum1 = 0;
        int sum2 = 0;
        for(int i = len-1 ; i >=0; i--){
            if((sum1 < sum2 && list1.size() < len/2) || (list2.size() >= len/2)){
                list1.add(arr[i]);
                sum1 = sum1 + arr[i];
            }else{
                list2.add(arr[i]);
                sum2 = sum2 + arr[i];
            }
        }
    }
This solution is incorrect. It is greedy approach which will not work
e.g 1,6,6,8,9,10 - Result should be 1,9,10 and 6,6,8 but it will not give this result
since it will greedily break 9 and 10 into different sets

INCORRECT SOLUTION.(Still keeping the code in case I can improve it)
src/com/interview/array/DivideNumbersInEqualGroupWithClosestSum.java