分配重复整数
题目描述
给你一个长度为 n 的整数数组 nums ,这个数组中至多有 50 个不同的值。同时你有 m 个顾客的订单 quantity ,其中,整数 quantity[i] 是第 i 位顾客订单的数目。请你判断是否能将 nums 中的整数分配给这些顾客,且满足:
- 第 i 位顾客 恰好 有 quantity[i] 个整数。
- 第 i 位顾客拿到的整数都是 相同的 。
- 每位顾客都满足上述两个要求。
如果你可以分配 nums 中的整数满足上面的要求,那么请返回 true ,否则返回 false 。
输入格式
第一行两个空格分开的整数 n 和 m;
第二行 n 个空格隔开的整数表示数组 nums 中的各元素;
第三行 m 个空格隔开的整数表示数组 quantity 中的各元素。
输出格式
一行一个字符串 true 或 false 表示答案。
示例 1:
4 1
1 2 3 4
2
false
解释: 第 0 位顾客没办法得到两个相同的整数。
示例 2:
4 1
1 2 3 3
2
true
解释: 第 0 位顾客得到 [3,3] 。整数 [1,2] 都没有被使用。
示例 3:
4 2
1 1 2 2
2 2
true
解释: 第 0 位顾客得到 [1,1] ,第 1 位顾客得到 [2,2] 。
提示:
- n==nums.length
- 1<=n<=105
- 1<=nums[i]<=1000
- m==quantity.length
- 1<=m<=10
- 1<=quantity[i]<=105
- nums 中至多有 50 个不同的数字。
SOURCE
分配重复整数