给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。 示例:

给定 nums = [2, 7, 11, 15], target = 9
因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]

思路:设置双指针p,q;

class Solution {
public:
    vector<int> twoSum(vector<int>& nums, int target) {
        	vector<int> v;
			vector<int>::iterator p;
			vector<int>::iterator q;
			p=nums.begin();
			int i,j;
			for(p,i=0;p!=nums.end();p++,i++){
				q=p;
				q++;
				int flag=0;
				for(q,j=i+1;q!=nums.end();q++,j++){
					if((*p)+(*q)==target){
						v.push_back(i);
						v.push_back(j);
						flag=1;
						break;
					}
				}
			}
			return v;
    }
};