原题链接:https://leetcode.com/problems/two-sum/
一:原题内容
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.
Example:
Given nums = [2, 7, 11, 15], target = 9, Because nums[0] + nums[1] = 2 + 7 = 9, return [0, 1].
二:AC代码
class Solution
{
public:
vector<int> twoSum(vector<int>& nums, int target)
{
vector<int> v(2,-1);
map<int,int> m;
for(int i=0;i<nums.size();i++)
{
if(m.find(target-nums[i])==m.end())//not find
m[nums[i]]=i;
else
{
v[0]=m[target-nums[i]];
v[1]=i;
return v;
}
}
return v;
}
};
class Solution(object):
def twoSum(self, nums, target):
"""
:type nums: List[int]
:type target: int
:rtype: List[int]
"""
process={}
for index in range(len(nums)):
if(target-nums[index] in process):
return [process[target-nums[index]],index]
process[nums[index]]=index