两数之和–C++

 解题思路

暴力法,两个指针,其中第二个指针比第一个指针快一个index,遍历整个array并且相加。找到符合target的值的时候返回# CodeStyle实际上还可以不用Boolean作退出判断,只需要break就好。

 代码

class Solution
{
public:
  vector<int> twoSum(vector<int>& nums, int target) 
  {
    vector<int> result;
    int sum = 0;
    int nextSum = 0;
    int addition = 0;
    bool done = false;
    for (size_t loop= 0; loop < nums.size() && !done; loop++)
    {
      sum = nums.at(loop);
      for (size_t nextNum= loop + 1; nextNum< nums.size() && !done; nextNum++)
      {
        nextSum = nums.at(nextNum);
        addition = sum + nextSum;
        if (addition == target)
        {
          result.push_back(loop);
          result.push_back(nextNum);
          done = true;
        }
      }
    }
    return result;
  }
};

留下评论


通过 WordPress.com 设计一个这样的站点
从这里开始