题解 | #牛群优势最大化#
牛群优势最大化
https://www.nowcoder.com/practice/6d4d03acb01a407381f0312bd7ed054c
import java.util.*; public class Solution { public int[] advantageCount (int[] groupA, int[] groupB) { // write code here List<Integer> arr = new ArrayList<>(); int[] res = new int[groupA.length]; int index = 0; for (int num : groupA) arr.add(num); Collections.sort(arr); for (int num : groupB) { int i = search(arr, 0, arr.size() - 1, num); res[index++] = arr.get(i); arr.remove(i); } return res; } public int search(List<Integer> arr, int l, int r, int tar) { if (l > r) return l >= arr.size() ? 0 : l; int mid = (l + r) / 2; if (arr.get(mid) > tar) r = mid - 1; else l = mid + 1; return search(arr, l, r, tar); } }