Leetcode 1. Two Sum
从前往后遍历,遍历到i位置,查询target-nums[i]是否已经遍历到过。
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
map<int,int> dict;
for(int i=0;i<nums.size();++i){
if(dict.find(target-nums[i]) != dict.end()){
return vector<int>{dict[target-nums[i]],i};
}
dict[nums[i]]=i;
}
return vector<int>();
}
};
python版本
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
dic=dict()
for idx,i in enumerate(nums):
if target-i in dic.keys():
return [dic[target-i],idx]
dic[i]=idx