classSolution { publicintminOperations(int[] nums1, int[] nums2) { intm= nums1.length, n = nums2.length; if (6 * m < n || 6 * n < m) return -1; intd=0; for (int x : nums2) d += x; for (int x : nums1) d -= x; // 交换,统一让 nums1 的数变大,nums2 的数变小 if (d < 0) { d = -d; int[] temp = nums1; nums1 = nums2; nums2 = temp; } int[] cnt = newint[6]; for (int x : nums1) ++cnt[6 - x]; for (int x : nums2) ++cnt[x - 1]; intans=0; for (inti=5; i > 0; --i) { while (cnt[i] > 0 && d > 0) { d -= i; --cnt[i]; ++ans; } } return d <= 0 ? ans : -1; } }