力扣1:两数之和
前言:不同于某些OJ,力扣第一题对初学者不是很友好,初次看到它,可能一时想不到思路——但须知万事开头难,走出第一步,即相当于成功一半——
而:我将为你认认真真地解开它ヾ(◍°∇°◍)ノ゙
关键词索引:哈希映射、BF、力扣第一题
给定一个整数数组 nums 和一个整数目标值 target ,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。
示例1️⃣:
输入:nums = [2,7,11,15], target = 9
输出:[0,1]
解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。
示例2️⃣:
输入:nums = [3,2,4], target = 6
输出:[1,2]
示例3️⃣:
输入:nums = [3,3], target = 6
输出:[0,1]
class Solution {
public:
vector<int>twoSum(vector<int>& nums, int target) {
for(int i=0;i<nums.size()-1;i++){
for(int j=i+1;j<nums.size();j++){
if(nums[i]+nums[j]==target)return {i,j};
}
}
return {};
}
};
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
unordered_map<int,int>hash;
for(int i=0;i<nums.size();++i){
unordered_map<int,int>::iterator it=hash.find(target-nums[i]);
if(it!=hash.end()){
return {it->second,i};
}
hash[nums[i]] = i;
}
return {};
}
};
这样的题解我还是有点满意的(~ ̄▽ ̄)~ ,迈开第一步,就是新的开始,《解题者:力扣解题之路》现在算正式开始了。
愿我们一同努力,解破算法难题。
O(∩_∩)O 《解题者:力扣解题之路》目录传送