1594. 公平的糖果交换

1594. 公平的糖果交换

  爱丽丝和鲍勃有不同大小的糖果棒:A[i] 是爱丽丝拥有的第 i 块糖的大小,B[j]是鲍勃拥有的第 j 块糖的大小。 因为他们是朋友,所以他们想交换一个糖果棒,这样交换后,他们都有相同的糖果总量。(一个人拥有的糖果总量是他们拥有的糖果棒大小的总和。) 返回一个整数数组 ans,其中 ans[0] 是爱丽丝必须交换的糖果棒的大小,ans[1] 是 Bob 必须交换的糖果棒的大小。 如果有多个答案,你可以返回其中任何一个。保证答案存在。

样例

样例 1: 输入: A = [1,1], B = [2,2] 输出: [1,2] 解释: A和B只有交换[1, 2]能达到相同的糖果总数 样例 2: 输入: A = [2], B = [1,3] 输出: [2,3] 解释: A和B只有交换[2, 3]能达到相同的糖果总数

注意事项

  • 1 <= A.length <= 10000
  • 1 <= B.length <= 10000
  • 1 <= A[i] <= 100000
  • 1 <= B[i] <= 100000
  • 保证爱丽丝与鲍勃的糖果总量不同。
  • 答案肯定存在。
      public class Solution {     /**      * @param A: an array      * @param B: an array      * @return: an integer array      */     public int[] fairCandySwap(int[] A, int[] B) {             int[] result = new int[2];             int sumA = 0;             for (int i : A) {                 sumA += i;             }             int sumB = 0;             for (int i : B) {                 sumB += i;             }             sumA = sumA - sumB;             for (int i : A) {                 for (int j : B) {                     if (sumA==(i - j)*2){                         result[0]=i;                         result[1]=j;                         return result;                     }                 }             }             return result;     } }  
上一篇:习题6-2 使用函数求特殊a串数列和 (20分)


下一篇:线段树初步