页面加载中…
通过率 100% · 提交 7 · 通过 7
给定两个按升序排列的整数数组 `array1` 和 `array2`。 从 `array1` 中选一个元素、从 `array2` 中选一个元素,可以组成一对元素 `(array1[i], array2[j])`。 现在需要选择恰好 `k` 个 `(i, j)`,并将这 `k` 对元素的和累加,求该累加值的最小值。 * 每一对的贡献为 `array1[i] + array2[j]`。 * 同一个下标对 `(i, j)` 只能使用一次。 * 。
这类题属于华为可信认证科目一方向中「排序 / 可信」方向的高频题型,通常考察对「排序 / 可信」的建模能力与边界条件处理。掌握本题的解题思路后,可举一反三应对同类真题方向,稳步提升机考通过率。
提示:带虚线的词点一下有通俗解释。
size1,表示数组 array1 的长度。size1 个整数,表示数组 array1。size2,表示数组 array2 的长度。size2 个整数,表示数组 array2。k,表示需要选择的元素对数量。1 <= size1 <= 1001 <= size2 <= 1001 <= array1[i] <= 10001 <= array2[j] <= 10001 <= k <= 10000k <= size1 * size2输出一个整数,表示满足要求的最小累加和。
示例 1
输入示例
3 1 1 2 2 1 4 2
输出示例
4
需要选择 k=2 对元素。可以选择:
(array1[0], array2[0]) = (1, 1)(array1[1], array2[0]) = (1, 1)两对贡献分别为 1+1 和 1+1,总和为 4,这是最小值。
注意:同一下标对(例如再次选择 (0,0))属于重复选择,不允许计入。
时间限制 1000 ms · 内存限制 128 MB
本平台为独立第三方培训机构,与华为技术有限公司无任何关联;课程的服务内容与权益以购买协议为准,学习效果因个人情况而异。「华为 OD」「华为可信」等仅为对岗位与考试方向的客观描述,相关商标归各自权利人所有。
登录后可查看你在本题的历史提交,以及每次的各用例通过情况。
© 2026 广州慕课网络科技有限公司 · 吴师兄学算法官网 版权所有