【Leetcode】之Two Sum問題
阿新 • • 發佈:2019-01-29
前言:之前是計劃先跟著July的部落格看完《程式設計師程式設計藝術》,然後再去做leetcode的題目。現在改變計劃,直接去做leetcode的題目,每天做一題。
本題跟之前寫的部落格【July程式設計師程式設計藝術】之尋找和為定值的兩個或者多個數是同一個問題,演算法思想就不再贅述,直接貼上在leetcode上寫的程式:
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
map<int, int> hash_map;
vector <int> result;
for(int i=0;i<nums.size();i++)
{
hash_map[nums[i]]=i+1;
}
for(int i=0;i<nums.size();i++)
{
if(hash_map[target-nums[i]]>0)
{
int new_idx=hash_map[target-nums[i]];
if (new_idx!=i+1)
{
result.push_back(i+1);
result.push_back(new_idx);
break;
}
}
}
return result;
}
};