首页 > 代码库 > 计蒜客 两数之和
计蒜客 两数之和
给定一个数组,找到两个数,使得他们的和为一个给定的数值target。
函数twoSum返回两个数字index1,index2,
其中:number[index1] + number[index2]==target;
注意:index1必须小于index2且不能为0假设每一组输入只有唯一的一组解。
格式:第一行输入一个数n,接下来的两行分别输入数组number[n]和target,返回index1和index2.
例如:
Input:
numbers={2, 7, 11, 15},
target=9
Output:
index1=1, index2=2
提示:vector twoSum(vector &number, int target)
样例输入
35 75 25100
样例输出
2 3
1 #include <iostream> 2 #include <vector> 3 using namespace std; 4 vector<int> twoSum(vector<int> &number, int target){ 5 vector<int> v(2); 6 int num = number.size(); 7 for(int i = 0; i < num - 1; i++){ 8 for(int j = i + 1; j < num; j++){ 9 if(number[i] + number[j] == target){10 v[0] = i + 1;11 v[1] = j + 1;12 }13 }14 }15 return v;16 }17 18 int main(){19 int n;20 cin >> n;21 vector<int> v(n);22 for(int i = 0; i < n; i++){23 cin >> v[i];24 }25 int target;26 cin >> target;27 vector<int> v1 = twoSum(v, target);28 cout << v1[0] << " " << v1[1] << endl;29 return 0;30 }
如果返回的是两个元素值,则可以先排序,然后首尾两个指针扫描
计蒜客 两数之和
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。