Rutik Vinod Gharat (Problem No. : 04)
import java.util.*;
class SetDifference {
public static int MinDifference(int arr[], int i,
int sumCalculated,
int sumTotal)
{
if (i == 0)
return Math.abs((sumTotal - sumCalculated)
- sumCalculated);
return Math.min(
MinDifference(arr, i - 1,sumCalculated + arr[i - 1],sumTotal),
MinDifference(arr, i - 1, sumCalculated,sumTotal));
}
public static int findMin(int arr[], int n)
{
int sumTotal = 0;
for (int i = 0; i < n; i++)
sumTotal += arr[i];
return MinDifference(arr, n, 0, sumTotal);
}
public static void main(String[] args)
{
int arr[] = {3,4,5,3,100,1,83,54,23,20};
int n = arr.length;
System.out.print("The minimum difference"
+ " between two sets is "
+ findMin(arr, n));
}
}