算法:计数 + 贪心
核心想法
null。pairs(它们必须一左一右各放一个);出现 1 次 的号码记为 singles(可任选放在哪一队)。n,每队人数应为 k = n/2。pairs 中的号码会让两队各占用一个名额,剩余的名额由 singles 填充。n1 的元素和最小:在 singles 升序后,取最小的 k - |pairs| 个放入 n1,其余放入 n2。最后两队分别排序输出。有一队学生进行排队 n0,长度【1,500】,数量为偶数,每个人手上拿着一个号码牌,号码牌可以重复,现在需要将学生根据号码牌分成两队 n1 和 n2,要求:
两队的数量相等。
n1 队列中的号码牌不能重复,n2 队列中的号码牌不能重复。
n1 和 n2 需从小到大进行排序
n1 所有的号码牌数字之和最小
如果可以按照要求排成两队则输出该队列 (n1,n2),如果不能按要求分成两队则返回 null
给定一个正整数数组,长度【1,500】
两个队列
输入
1 1 1 2
输出
null
说明
对 n0 进行排队的唯一可行方案是 n1=[1,1] 和 n2=[1,2] 。但 n1 不是由互不相同的元素构成。因此,返回 null 。
输入
1 1 2 4 3 6
输出
1 2 3
1 4 6
说明
n1=[1,2,3],n2=[1,4,6] n1 的所有数字之和最小