好久不写代码,今天开始坚持打卡。
//复杂度依然是nlogn, 写oj习惯了本来想自己开节点数组,感觉有点麻烦还要自己写sort()还有find(),应该会比map快点,但是还是用map凑活吧。
class Solution {
public:
vector<int> twoSum(vector<int> &nums, int target)
{
map<int, int>myMap;
vector<int> ans;
int len = nums.size(), tmp;
for (int i = 0; i < len; ++i)
{
tmp = target - nums[i];
auto iter = myMap.find(tmp);
if (iter != myMap.end() && i != iter->second)
{
ans.push_back(iter->second);
ans.push_back(i);
return ans;
}
myMap[nums[i]] = i;
}
}
};