Two Sum

来源:互联网 发布:金山软件股价 编辑:程序博客网 时间:2024/06/05 01:54

Given an array of integers, return indices of the two numbers such that they add up to a specific target.

You may assume that each input would have exactly one solution, and you may not use the same element twice.

Example:

Given nums = [2, 7, 11, 15], target = 9,Because nums[0] + nums[1] = 2 + 7 = 9,return [0, 1].
class Solution {public:    vector<int> twoSum(vector<int>& nums, int target) {        int x1 = 0;        int x2 = x1 + 1;        vector<int> v1;        for(;;)        {            if(nums[x1] + nums[x2] == target)            {                v1.push_back(x1);                v1.push_back(x2);                return v1;            }            else            {                if(x2 == nums.size()-1)                {                    x1++;                    x2 = x1+1;                }                else                    x2++;            }        }    }};
备注:1 题目条件中给定了输入一定有解,而且只有唯一解,所以不需要考虑x1溢出的请客 2 因为是遍历所有情况,所以x2的最大值只会为nums.size() -1 因此不需要用》= 的条件