题目如下:
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]. —— [ LeetCode ]
代码如下:
#include <string.h> #include <vector> #include <iostream> using namespace std; class Solution { public: vector<int> twoSum(vector<int>& nums, int target) { vector<int>obj; for (int i = 0; i<nums.size() - 1; i++) { for (int j = i + 1; j<nums.size(); j++) { if (nums[i] + nums[j] == target) { obj.push_back(i); obj.push_back(j); break; } } if (obj.size() == 2) break; } return obj; } }; int main() { int i[4] = { 2, 7, 11, 15 }; int target = 9; vector<int> obj(i, i + 4); Solution sl; obj = sl.twoSum(obj, target); for (int j = 0; j < obj.size(); j++) { cout << obj[j] << ','; } }