888. 公平的糖果棒交换

  1. class Solution {
  2. public int[] fairCandySwap(int[] A, int[] B) {
  3. int[] ans = new int[2];
  4. if (A == null || B == null)
  5. return ans;
  6. int sumA = 0, sumB = 0;
  7. for (int i = 0; i < A.length; i++)
  8. sumA += A[i];
  9. for (int j = 0; j < B.length; j++)
  10. sumB += B[j];
  11. int average = (sumA + sumB) / 2;
  12. HashMap<Integer, Integer> hashMap = new HashMap<>();
  13. for (int j = 0; j < B.length; j++)
  14. hashMap.put(B[j], j);
  15. for (int i = 0; i < A.length; i++) {
  16. if (hashMap.containsKey(A[i] + average - sumA)) {
  17. ans[0] = A[i];
  18. ans[1] = A[i] + average - sumA;
  19. break;
  20. }
  21. }
  22. return ans;
  23. }
  24. }