题目链接
https://leetcode.cn/problems/two-sum/
做法
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
// solution 1
int len = nums.size();
vector<int>res;
for (int i = 0; i < len; i ++){
for(int j = i + 1; j < len; j ++){
if(nums[i] + nums[j] == target){
res = {i,j};
break;
}
}
}
return res;
}
// solution 2
// map<int,int>vis;
// vector<int>res;
// int len = nums.size();
// for(int i = 0; i < len; i ++){
// vis[nums[i]] += i + 1;
// }
// for(int i = 0; i < len; i ++){
// int tmp = target - nums[i];
// if(tmp == nums[i] && (vis[nums[i]] != i + 1)){
// res.push_back(i);
// res.push_back(vis[nums[i]] - i - 2);
// break;
// }
// if(vis[tmp] && (vis[tmp] - 1)!= i){
// res.push_back(vis[nums[i]] - 1);
// res.push_back(vis[tmp] - 1);
// break;
// }
// }
// return res;
// }
};
结果