一:题目 二:上码 1:方法一 class Solution { public:vector<int> twoSum(vector<int>& nums, int target) {vector<int> v;for(int i = 0; i < nums.size() - 1; i++) {for(int j = i+1; j < nums.size(); j++) {if(nums[i] + nums[j] == target) {v.push_back(i);v.push_back(j);return v;}}}return {};} }; 2:方法二 class Solution { public:vector<int> twoSum(vector<int>& nums, int target) {unordered_map<int,int> m;//底层实现是哈希表,查找效率较高,key值不重复,但无序unordered_map<int,int>:: iterator mt;for(int i = 0; i < nums.size(); i++) {mt = m.find(target - nums[i]);if(mt != m.end()){//比如 nums = [2,7,11,15], target = 9,当nums[1] = 7的时候,此时//mt指向的是2,然而2是存在的,所以返回下标 return{mt->second,i};}m[nums[i]] = i;}return {};} };