1、题目描述
2、问题分析
使用hashTable 寻找,target - num[i] ,将时间复杂度降低到 O(n);
3、代码
1 vector<int> twoSum(vector<int>& nums, int target) { 2 map<int ,int> m; 3 for( int i = 0; i < nums.size() ; ++i ){ 4 m[nums[i]] = i; 5 } 6 vector<int> result; 7 for( int i = 0; i < nums.size() ; ++i ){ 8 auto it = m.find( target - nums[i] ) ; 9 if( it != m.end() && it->second != i ){ 10 result.push_back( i ); 11 result.push_back( it->second ); 12 break; 13 } 14 } 15 return result; 16 17 }