将会在B站制作视频,感兴趣请看传送门
python:
解决方案一:暴力解决
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
res=[]
for i in range(len(nums)):
for j in range(i+1,len(nums)):
if(nums[i]+nums[j]==target):
# print(nums[i],nums[j])
res.append(i)
res.append(j)
break
if res:
break
return res
解决方案二:字典
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
res=[]
my_hash={}
for i,num in enumerate(nums):
need=target-num
if need in my_hash:
res.append(my_hash[need])
res.append(i)
break
my_hash[num]=i
return res
c++:
解决方案一:暴力解决
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
/* 方法一: 暴力 */
vector<int>v;
for(int i=0;i<nums.size();i++){
for(int j=i+1;j<nums.size();j++){
if(nums[i]+nums[j]==target){
v.push_back(i);
v.push_back(j);
break;
}
}
if(v.size()>0){
break;
}
}
return v;
}
};
解决方案二:字典
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
/*方法二:字典*/
vector<int>v;
map<int,int> mymap;
for(int i=0;i<nums.size();i++){
if(mymap.find(target-nums[i])!=mymap.end()){
v.push_back(mymap.find(target-nums[i])->second);
v.push_back(i);
break;
}
mymap[nums[i]]=i;
}
return v;
}
};