Given an array of integers, return indices of the two numbers such that they add up to a specific target.
You may assume that each input would have exactly one solution, and you may not use the same element twice.
Example:
Given nums = [2, 7, 11, 15], target = 9, Because nums[0] + nums[1] = 2 + 7 = 9,
return [0, 1].
vector<int> twoSum(vector<int> &numbers, int target){ //Key is the number and value is its index in the vector.unordered_map<int, int> hash;vector<int> result;for (int i = 0; i < numbers.size(); i++) {int numberToFind = target - numbers[i]; //if numberToFind is found in map, return themif (hash.find(numberToFind) != hash.end()) { //+1 because indices are NOT zero basedresult.push_back(hash[numberToFind] + 1);result.push_back(i + 1);return result;} //number was not found. Put it in the map.hash[numbers[i]] = i;}return result;} 本周做了3道题,但是在最后提交的时候却发现网站上自己的代码不见了,所以就套用了一个和自己很像的代码,写在文章里。之后会重新补充。