给定一个整数数组 nums
和一个整数目标值 target
,请你在该数组中找出 和为目标值 target
的那 两个 整数,并返回它们的数组下标。
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
int i,j;
for(i=0;i<nums.size();i++)
{
for(j=i+1;j<nums.size();j++)
{
if(nums[i]+nums[j]==target)
{
return {i,j};
}
}
}
return {i,j};
};
};
这是一个求解两个数的和等于目标值的整数的类。在这个类中,我们定义了一个名为 twoSum
的公共方法,它接受一个整数数组 nums
和一个目标整数 target
,并返回一个长度为 2 的元组,表示两个整数 nums[i]
和 nums[j]
是否是 target
的两个解。如果是,返回这两个整数;否则返回一个空元组。
在 twoSum
方法中,我们使用了两个嵌套的 for 循环来遍历数组中的所有可能的两个数。对于每一对可能的整数,我们检查它们的和是否等于目标值。如果是,我们返回这两个整数;否则,我们继续在下一对整数中搜索。
需要注意的是,如果数组中有重复的元素,上述算法将只返回其中一个元素。如果需要返回所有的解,可以在搜索之前先将数组排序。