ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

7.1华为OD机试真题 新系统 - 奇偶三数之和 (JavaPyCC++JsGo)

7.1华为OD机试真题 新系统 - 奇偶三数之和  (JavaPyCC++JsGo) 奇偶三数之和2026 华为OD机试真题 7月1日华为OD上机新系统考试真题 100 分题型点击查看华为 OD 机试真题完整目录2026最新华为OD机试新系统卷 双机位C卷 真题题库目录全覆盖题库 逐点算法考点详解题目描述给定一个包含 n 个整数的数组nums和一个整数target请从数组中找出所有不重复的三元组[nums[i], nums[j], nums[k]]满足以下两个条件和为目标 nums[i]nums[j]nums[k]target奇偶性约束 三个元素中至少有两个是奇数。返回所有满足条件的不重复三元组。提示3≤nums.length≤3000−105≤nums[i]≤105补充说明返回值输出格式每个子数组内部的元素按数值升序排列所有子数组之间按字典序升序排列即先比较第一个元素若相同再比较第二个以此类推。示例[[-1,-1,2],[-1,0,1]]2026 华为OD机试真题 7月1日华为OD上机新系统考试真题 100 分题型输入描述输入为一个数组nums和一个目标整数target。格式第一行是数组元素逗号分隔第二行是目标整数。输出描述输出所有满足条件的不重复三元组。示例1输入-1,0,1,2,-1,-4 0输出[[-1,-1,2],[-1,0,1]]说明[1,3,5] 9三个都是奇数通过。[2,3,4] 93是奇数但2和4都是偶数只有一个奇数不通过。示例2输入0,0,00输出[]说明示例3输入1,1,2,3,5,78输出[[1,2,5]]说明1258且至少两个奇数(1,5都是奇数)解题思路核心思想排序 双指针 奇偶性过滤 1. 先对数组排序便于去重和双指针操作 2. 固定第一个数使用双指针找另外两个数 3. 判断三元组的奇数个数是否 2算法步骤对数组排序遍历第一个数 i从 0 到 n-3跳过重复的第一个数双指针 ji1, kn-1找和为 target 的三元组判断奇数个数 2满足则加入答案跳过重复的 j 和 k复杂度分析时间复杂度O(n²)排序 O(n log n) 双指针 O(n²)空间复杂度O(1)原地操作不计
返回列表