给定一个数字序列和一个目标值target,返回二个数的和等于target的下标。 167代码在最后。
题解 1、暴力法直接进行双重遍历,查找到目标值下标。
class Solution {
public:
vector twoSum(vector& nums, int target) {
for(int i=0; i
2、采用hash_map 的方法
如果temp中没有发现target-nums[i]的值,那么将这个值和下标存入。
class Solution {
public:
vector twoSum(vector& nums, int target) {
map temp;
// vector res;
for(int i=0; i
3、双指针 167. Two Sum II
先排序然后采用双指针,相向而行(两个指针从两边出发一起向中间移动直到两个指针相遇)这个解题方法和167的two sumII 的方法一致。
class Solution {
public:
vector twoSum(vector& nums, int target) {
vector number = nums;
sort(nums.begin(), nums.end());
int start=0, end=nums.size()-1;
vector res;
while(start index;
if(res.size()==0) return {};
else{
int in=0;
for(int i=0; i
167
class Solution {
public:
vector twoSum(vector& numbers, int target) {
int start=0, end=numbers.size()-1;
while(start target) end--;
else start++;
}
return {};
}
};



