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].
Code
//
// main.cpp
// STL_Vector
//
// Created by mac on 2019/7/13.
// Copyright © 2019 mac. All rights reserved.
//
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
class Solution{
public:
vector<int> twoSum(vector<int>& nums,int target){
vector<int> result;
for (int i=0; i<nums.size()-1; i++) {
for (int j=i+1; j<nums.size(); j++) {
if (nums[i]!=nums[j]) {
if (nums[i]+nums[j]==target) {
result.push_back(i);
result.push_back(j);
}
}
}
}
return result;
}
};
int main(int argc, const char * argv[]) {
// insert code here...
Solution solu;
vector<int> nums={2, 7, 11, 15};
//int nums [4]= {2, 7, 11, 15};
int target=9;
for (int i=0; i<solu.twoSum(nums, target).size();i++) {
cout<<solu.twoSum(nums, target)[i]<<endl;
}
return 0;
}
運行結果
0
1
Program ended with exit code: 0
參考文獻