
华为OD面试真题精选
🌟 强烈推荐:华为OD技术面试手撕算法代码真题 🌟
大家好!今天我给大家推荐一份备受赞誉的华为OD技术面试手撕算法代码真题。 所有题目均为华为od实际面试过程中出现的算法代码真题。
专栏:华为OD面试真题精选
文章目录
题目
给定一个整型数组和一个目标值,求数组中所有两数之和等于目标值的所有组合
用例
输入:
1,2,3,4,5
6
输出:
[[1, 5], [2, 4]]
题解
-
定义两个指针,一个指向数组的开始(i),一个指向数组的结束(j)。同时,创建一个结果列表用于存储满足条件的组合。
-
使用一个while循环,只要开始指针小于结束指针,就继续循环。在每次循环中,计算两个指针指向的数的和。
-
如果这个和等于目标值,就将这两个数作为一个列表添加到结果列表中,并将两个指针都向中间移动一位。
-
如果这个和小于目标值,就将开始指针向右移动一位,以增大和。
-
如果这个和大于目标值,就将结束指针向左移动一位,以减小和。
-
最后,函数返回结果列表,即所有满足条件的组合。
注意:这个解题思路假设输入的数组已经排序。如果数组未排序,需要先进行排序。
Java
import java.util.
这篇博客分享了华为OD面试中的一道算法真题,要求找到数组中所有两数之和等于目标值的组合。提供了已排序数组的解题思路和Java、C++、Python、JavaScript的代码实现。
订阅专栏 解锁全文
884

被折叠的 条评论
为什么被折叠?



