通过率 45% · 提交 73 · 通过 33
在魔法公司的一次团建出游中,公司有多个部门,每个部门的人数各不相同。为了满足团建活动的需求,公司联系了多个魔法出租车公司,每个出租车公司提供了不同的车型,车型的不尽相同,每种车都有无数辆。 每个部门的人数必须被安排到同一辆车上,并且每辆车只能搭载一个部门的人。现在,我们需要根据每个出租车公司的方案,选择一个使得所有出租车的最少的方案()。如果有多个方案具有相同的空座数,选择序号最小的公司。如果没有公司能满足需求,返回 `-1`。 输入: - 第一行输入一个整数 `n`,表示公司的部门数量。 - 第二行输入一个长度为 `n` 的数组 `depts`,其中每个元素表示一个部门的人数。 - 接下来输入 `k`(租车公司数量),然后对于每个租车公司: - 第一行输入该公司提供的车型数量 `m`。 - 第二行输入该公司提供的所有车型的载客量(一个整数列表)。 - `1 <= m, k <= 300` - `1 <= n <= 5000` - `1 <= depts[i] <= 10^5` 输出: - 输出一个整数,表示能使空座位最少的租车公司序号。如果没有公司能满足需求,输出 `-1`。
这类题属于华为可信认证科目一方向中「排序 / 双指针」方向的高频题型,通常考察对「排序 / 双指针」的建模能力与边界条件处理。掌握本题的解题思路后,可举一反三应对同类真题方向,稳步提升机考通过率。
提示:带虚线的词点一下有通俗解释。
n,表示公司的部门数量。n 的数组 depts,其中每个元素表示一个部门的人数。k(租车公司数量),然后对于每个租车公司:
m。1 <= m, k <= 3001 <= n <= 50001 <= depts[i] <= 10^5-1。示例 1
输入示例
3 10 8 15 2 3 8 15 12 4 20 4 15 4
输出示例
0
示例 2
输入示例
2 5 9 3 1 4 2 6 10 2 5 11
输出示例
1
示例 3
输入示例
2 10 10 2 4 2 9 8 3 1 7
输出示例
-1
时间限制 1000 ms · 内存限制 128 MB
本平台为独立第三方培训机构,与华为技术有限公司无任何关联;课程的服务内容与权益以购买协议为准,学习效果因个人情况而异。「华为 OD」「华为可信」等仅为对岗位与考试方向的客观描述,相关商标归各自权利人所有。
登录后可查看你在本题的历史提交,以及每次的各用例通过情况。
© 2026 广州慕课网络科技有限公司 · 吴师兄学算法官网 版权所有