两数之和
来源:互联网 发布:快牙软件下载 编辑:程序博客网 时间:2024/06/01 08:21
问题描述:给一个整数数组,找到两个数使得他们的和等于一个给定的数 target。你需要实现的函数twoSum需要返回这两个数的下标, 并且第一个下标小于第二个下标。注意这里下标的范围是 1 到 n,不是以 0 开头。
样例:给出 numbers = [2, 7, 11, 15], target = 9, 返回 [1, 2].
解题思路:给出一个特定的值,在两个数组中找到它的加数,并且第一个数组当中的元素下标小于第二个数组当中的元素的下标。第一反应是可以写两个for 循环来实现,而且第一个数组的元素下标要小于第二个数组元素的下标,因此第二个for 循环可以从i+1开始,以节约时间。
实现代码:
class Solution {
public:
/*
* @param numbers : An array of Integer
* @param target : target = numbers[index1] + numbers[index2]
* @return : [index1+1, index2+1] (index1 < index2)
*/
vector<int> twoSum(vector<int> &nums, int target) {
// write your code herev
vector<int> out;
for(int i=0;i<nums.size();i++)
{
for(int j=i+1;j<nums.size();j++)
{
if(nums[i]+nums[j]==target)
{
out.push_back(i+1);
out.push_back(j+1);
}
}
}
return out;
}
};
做题感想:要注意细节,vector 中的指针与元素下标之间的关系。
- Lintcode 两数之和
- 两数之和
- 题目:两数之和
- LintCode 两数之和
- 两数之和
- 两数之和
- 两数之和
- 两数之和
- 两数之和
- 两数之和
- 两数之和I
- 两数之和II
- 两数之和III
- 两数之和 (一)
- 两数之和
- 两数之和
- 两数之和
- 两数之和
- Android快速开发整理(库、插件、常用网站)
- Friends number
- JavaSE
- bzoj 4481 [Jsoi2015]非诚勿扰
- 反射
- 两数之和
- 【c++语言基础】isdigit函数和putback的一些用法
- vi 装逼指南
- 【爱情叙记】--刚闹完别扭
- Myeclipse中导出类图
- 【操作系统】IO
- 51. yii csrf
- Maven入门
- linux下将.a文件链接到.so文件的问题