公平的糖果交换(888-java)
public class LC233_888_fairCandySwap {
public static int[] fairCandySwap(int[] aliceSizes, int[] bobSizes) {
int aSum = 0, bSum = 0;
for (int i : aliceSizes) {
aSum += i;
}
for (int i : bobSizes) {
bSum += i;
}
int total = aSum + bSum;
int target = total / 2;
int diff = target - aSum;
int[] ans = new int[2];
for (int i = 0; i < aliceSizes.length; i++) {
if (find(bobSizes, aliceSizes[i] + diff)) {
ans[0] = aliceSizes[i];
ans[1] = aliceSizes[i] + diff;
break;
}
}
return ans;
}
private static boolean find(int[] bobSizes, int i) {
for (int bobSize : bobSizes) {
if (bobSize == i) {
return true;
}
}
return false;
}
public static void main(String[] args) {
int[] ints = fairCandySwap(new int[]{1, 1}, new int[]{2, 2});
for (int anInt : ints) {
System.out.print(anInt + " ");
}
}
}